git基本操作命令

参考:https://git-scm.com/book/zh/v2

基本操作

init

$ git init

初始化仓库,命令操作成功会在当前目录下面生成一个.git目录;


status

$ git status

显示Git仓库状态;


add

$ git add hello.c

向暂存区添加文件。Git仓库中存在3个区域:工作树区、暂存区、最新提交。工作树表示当前工作目录中的文件状态,最新提交表示当前已提交的最新版本状态,而暂存区介于两者之间。修改一个文件后首先需要使用Git add将修改的文件移入暂存区,再从暂存区提交到最新版本;


commit

$ git commit -m "first commit"

将暂存区的内容实际保存到版本的历史记录中。-m后添加提交说明,如果没有-m则在提交后直接进入一个编辑器用于编写更详细的信息,若没有编写信息直接退出则终止提交操作;


log

$ git log

查看历史提交记录

$ git log --pretty-short

查看历史提交记录,但只显示第一行提交信息

$ git log hello.c

查看hello.c的历史提交记录

$ git log -p hello.c

查看hello.c的历史提交记录,并显示每次提交之间的差别


diff

$ git diff

查看工作树与暂存区之间的差别

$ git diff HEAD

查看工作树与最新提交版本之间的差别


分支操作

$ git branch

查看分支情况,分支名称前带‘*’表示当前分支;


$ git checkout -b branch-A

创建分支branch-A并切换到这个分支


$ git branch branch-B

仅创建分支branch-B


$ git checkout branch-B

切换到分支branch-B


$ git checkout -

回到上一分支


合并分支

将branch-B分支的修改内容合并到master分支

$ git checkout master

先切换到master分支

$ git merge --no-ff branch-B

合并branch-B分支的提交信息


$ git log --graph

图表显示分支合并情况


回溯历史版本

$ git reset --hard  e2017de24c78c5dcaed263783b262a0558732992

后面的数字为希望回溯的历史版本的哈希值

$ git reflog

查看仓库当前操作日志


修改上一次提交信息

$ git commit --amend


更改历史

 $ git rebase -i HEAD~2

(备注:HEAD后是飘号,飘号后的数字表示包括HEAD在内需要更新历史记录的对象个数)

执行命令后会将历史记录信息排列在编辑器中

git基本操作命令

修改pick为fixup可删除这条记录,其他操作看说明