Java教程

Git指令

本文主要是介绍Git指令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

克隆仓库到本地

  • git clone 仓库网址

  • 进入仓库主目录,如下图所示,仓库主目录中有个 .git 隐藏目录,它里面包含了仓库的全部信息,删掉这个目录,仓库就变成普通的目录了。进入到仓库目录中,命令行前缀发生了一些变化,出现了红色的 master ,它就是当前所在的分支名:img

  • 在 GitHub 上创建一个仓库时,同时生成了仓库的默认主机名 origin,并创建了默认分支 master。GitHub 可以看成是免费的 Git 服务器,在 GitHub 上创建仓库,会自动生成一个仓库地址,主机就是指代这个仓库,主机名就等于这个仓库地址。克隆一个 GitHub 仓库(也叫远程仓库)到本地,本地仓库则会自动关联到这个远程仓库,执行 git remote -v 命令可以查看本地仓库所关联的远程仓库信息:img

  • 克隆远程仓库到本地时,还可以使用 -o 选项修改主机名,在地址后面加上一个字段作为本地仓库的主目录名,img

git三大区域

img

git的基础操作

查看仓库状态

  • git status

  • img

  • 对工作区进行修改

    • 增加一个文件后,在查看状态会看到img
  • 添加修改到暂存区

    • git add 文件名(若是多个可以使用git add .)img
  • 撤销暂存区的修改

    • git reset -- [文件名] 或者 git rm --cached [文件名]

    • 撤销文件夹 git reset --img

  • 查看工作区被追踪的文件修改详情

    • git diffimg

    • 使用 git diff --cached 查看暂存区的全部修改img

查看提交历史

  • 执行 git commit 命令把暂存区的修改提交到版本区,生成一个新的版本

  • git log,它用来查看版本区的提交历史记录,当前只有一个提交,就是在 GitHub 上创建新仓库时的初始化提交。

  • 关于查看提交历史记录的命令,有些常用的选项介绍一下:

    • git log [分支名] 查看某分支的提交历史,不写分支名查看当前所在分支

    • git log --oneline 一行显示提交历史

    • git log -n 其中 n 是数字,查看最近 n 个提交

    • git log --author [贡献者名字] 查看指定贡献者的提交记录

    • git log --graph 图示法显示提交历史

个人信息配置

  • user.email:写入你自己注册 GitHub 账号的邮箱

  • user.name:你自己的 GitHub 账号名字img

提交暂存区的修改

  • 执行 git commit 命令生成一个新的提交,一个必须的选项 -m 用来提供该提交的备注:img

  • 执行 git log 查看提交记录(橙黄色就是提交的版本号)img

  • 若需要看时间正序排列信息可以使用git log --reverseimg

版本回退

  • 首先执行 git reset --soft HEAD^ 撤销最近的一次提交,将修改还原到暂存区。--soft 表示软退回,对应的还有 --hard 硬退回,后面会讲到,HEAD^ 表示撤销一次提交,HEAD^^ 表示撤销两次提交,撤销 n 次可以简写为 HEAD~n。软退回一个提交后执行 git branch -avv 命令查看分支信息:img
    执行 git status 查看仓库状态,果然上一个提交中的修改全部扔回了暂存区

处理commit时间线分叉

  • 如下图,可以看到本地仓库的 master 分支与远程仓库的 origin/master 分支在提交版本上有了冲突,又叫做提交时间线分叉。因为刚才的提交操作不是基于远程仓库 origin/master 分支的最新提交版本,而是撤回了一个版本。这种情况下也是可以将本地 master 分支推送到远程仓库的,需要加一个选项 -f ,它是 --force 的简写,这就是强制推送:imgimgimg

本地仓库commit变化记录

  • 假设此时发现情况不对,之前的那次版本号为 5c04 的提交是正确的,刚才的版本回退操作全都是误操作,怎么办?再次执行一次版本回退吗?当然不需要啦,我们有 git reflog 命令,它会记录本地仓库所有分支的每一次版本变化。实际上只要本地仓库不被删除,随你怎么折腾,都能回退到任何地方。reflog 记录只存在于本地仓库中,本地仓库删除后,记录消失。执行此命令如下图所示:img

  • 怎么回退到 5c04 那个版本呢?可以直接执行命令 git reset --hard [版本号] ,如果记不清版本号,也可以根据上图第 3 行的信息,执行 git reset --hard HEAD@{2} 命令,其中 HEAD@{2} 就是上图第 3 行第 2 列所示,这个命令的意思是回到当前分支最近两次提交版本变化前:img

  • 还想反悔,刚才还是改对了,怎么办?再执行一次即可,这次大括号里就是 1 了:img

  • 重要的一点,本节全部命令中,只有 push 是需要联网执行的,它对远程仓库进行了修改。

这篇关于Git指令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!