rebase操作
嗯。。,其实我也不知道他比merge好在哪里,使用的时候也没有merge好用,但就是告诉推荐
时隔这么久,我来补坑了,总结的很笼统,可以评论区一起讨论哦
rebase的目的也是合代码,merge也是,但是有不同
rebase: 不会保留commit记录,会把当前分支排到的commit记录放到最前面
merge: 会保留一条merge的记录,commit信息按照时间排列(以提交时间为基准的 网状历史结构)
那么问题来了,就这么点差别,用哪个呢?
在自己的分支上操作的时候,建议用rebase,这样可以把自己的commit记录放到所有提交记录的最前面,并且是按照时间排序的
如果是在公共分支上,有多人基于改分支一起开发的情况,建议使用merge,如果使用rebase,可能会将其他人的commit冲掉
git fetch --prune
功能释义:我们在使用vscode自带的切分支时,会发现有很多远程已经不存在的分支,还在分支列表中,我们可以使用git fetch --prune来清理分支列表,看起来整洁不少
git commit --amend
功能释义: 个人非常喜欢这个指令,有时候我们在分支上进行一些代码的编写,但是暂时又被其他问题叫去,不得不暂停一段时间,就可以使用 git commit --amend 接上一次的commit信息,不至于同样功能的代码有多个commit信息
git --version
功能释义: 用来查看git版本
git log --pretty=online
功能释义:简化log记录
git log --graph
功能释义:可以看到分支的线性合并情况,个人觉得很强大啊
git status
功能释义:查看时候有未提交的代码
git revert <commit-id>
功能释义:回退某一个commit
git revert -m commit_id
功能释义:从别的分支合过来的
git revert --no-commit commit1..commit2
功能释义:如果需要撤销多个commit,是一个左开右闭的空间,谨慎使用哦
git cherry-pick
功能释义:可以合并分支的某个commit,详情可以看下面的链接哦,大佬的简书
回退版本以及反悔回退时的操作:
回退: git reset --hard commit_id
可以找到所有的ID:git reflog (所有的提交commitid都有,所以可以通过git reset --hard commitId)