git push -f origin $currentBranchName
git stash
将修改的内容暂存起来
git stash
查看暂存列表
git stash list
将暂存的信息重新打开
git stash apply (stash 堆栈的信息还在)
git stash pop
git rebase
合并多个 commit
git rebase -i $parentVersion
保留第一个 pick
,其它的开头更改为 squash
(可以简写为 s
)
添加一个新的 message
信息。之前的 commit
message
仍然保留(也可以不保留)。
合并几个间隔的 commit
git rebase -i $parentVersion
保留第一个,将其它的 commit
移动过来。并修改头部为 squash
(可以简写为 s
)
如果返回的内容有报错。执行 git rebase --continue
后,会进入类似 git commit --amend
界面。修改 commit
信息。
注意:如果要修改的信息本来就是最初的 commit
,需要手动在最上面加上一个 pick $version
信息。
git log
查看简洁日志
一行展示日志信息,不展示时间,作者等信息。
git log --oneline
查看某个作者提交的日志
git log --author $authorName
根据提交信息查看日志
git log --grep $提交信息
查看某一个时间段的日志
git log --since=2021-11-17 --before=2021-11-18
git reset
让所有暂存区恢复和 HEAD 一样
git reset HEAD
git reset --hard
如果合并分支时,有冲突,但又着急需要继续开发,这个命令非常适用。
部分暂存区的文件恢复成 HEAD 一样
git reset HEAD $fileName
消除最近的几次提交记录
git reset --hard $parentVersion
git reset $parentVersion
git checkout .
git cherry-pick
将其它分支的 某次提交记录的
内容合并到当前分支
git cherry-pick $commitVersion
图形化查看日志,可以看每次的提交的具体信息,以及分支的树形结构。
某些操作会直接影响代码以及分支树,在不熟悉之前,建议先拉一个 test
分支。在 test
分支上多尝试一下。明确知道每个命令执行后会有哪些影响,再在实际操作中使用更好。
每一个命令都有自己的适用场景,恰当使用,可以很好地提高协作效率。
此文只简单总结了个人认为比较实用的命令,如果小伙伴们有好的推荐,欢迎与我探讨交流。
https://mp.weixin.qq.com/s/mOamNzWW_5aOod-0FC3w5w