开发中一直使用sourceTree这个可视化的工具来进行git的操作,但最近项目中有初学者使用命令行去操作,然后发现自己竟然很多操作的命令都不确定或不知道,所以特地的学习学习。
首先如果想查看sourceTree中那个漂亮的graph。可以使用以下命令。
git log --graph --all
接着,我修改了代码,stage代码
git add package.json
然后想把package.json回退回去
git reset -- package.json
现在我提交一个文件,这个就不截图了
git commit -m "modified package.json"
紧着我发现有问题,想重置回来
# 这样其实仍旧是在是在暂存区的。
git reset --soft HEAD^
# 从暂存区移除
git reset -- package.json
以上,我不想太深究命令和参数的具体的意思,大家可以自行搜索。
再来,假设我提交了两次,但觉得有些啰嗦,想把两次提交合并为一次提交,在sourceTree中是交互式变基(rebase)。而命令行中:
git rebase -i HEAD~2
可以修改提交的Message
最终的效果等同于sourceTree中的效果
未完待续~