1、基于分支feature_a新建一个分支hotfix
git checkout -b hotfix feature_a
2、比较提交记录
git diff a5dc5bec56359 344348d1bf # 使用commitId来查看提交差异
git diff HEAD HEAD^
git diff HEAD HEAD~1
3、查看分支列表
git branch -v
4、删除分支
git branch -D 34434
5、修改最新的commit message
git commit --amend # 编辑commit message 然后退出:wq
6、修改之前的commit message
git log -3
比如修改如下图所示红框的这次的commit message
我们需要执行如下命令
git rebase -i 8f4a0a8
我们选择需要修改提交信息的上一次commitId,来做变更
我们通过下图,可以看到修改完commit message,对应的commit message已经变更且commit id也变了
7、合并连续多次commit为一次
执行如下命令,并使用s
git rebase -i a0957f2e1a17
8、比较暂存区和HEAD文件的差异
git diff --cached
9、比较工作区和暂存区文件的差异
git diff # 默认比较工作区和暂存区所有的文件差异
git diff -- Hello.java # 比较工作区和暂存区Hello.java文件的差异
10、恢复暂存区文件和HEAD文件一致
git reset HEAD
11、工作区恢复到和暂存取一样
git restore <file>
12、取消暂存区部分文件修改
git restore --staged README.md
13、消除最近的几次提交,HEAD变了,工作区和暂存区的文件也恢复了
git reset --hard 709bcec1d3d
14、看不同提交指定文件的差异
git diff branch_a branch_b # 查看两个分支的代码差异
git diff branch_a branch_b -- fileName# 查看两个分支指定文件的代码差异
15、删除文件
git rm filename
16、使用git stash
git stash
git stash list
git stash apply # 还原stash内容到工作区
git stash pop # 会将内容还原到工作区,且stash的列表也会被drop掉