Git 实用指南
拉取所有 tag
git fetch --all --tags --prune
查看早期历史
git log --reverse
合并远程分支失败
合并远程分支报错:
fatal: refusing to merge unrelated histories
解决:
git pull origin master --allow-unrelated-histories
删除远程分支失败
删除远程分支总提示:
git push origin --delete feature/mockDateerror: unable to delete 'feature/mockDate': remote ref does not exist
其实远程已经删除了,只是本地未更新,更新下:
git fetch -p origin
合并
git merge 一定要带 –no-ff 禁止快进!参考:https://blog.csdn.net/zombres/article/details/82179122
squash
合并提交,主干分支保持线性,开发分支保持独立
git merge --squash <dev_branch>
开发分支合并进主干分支,所有 commit 合并成一个,开发分支完全不变(commit 保留,且不形成往主干分支的合并提交)
rebase
不合并提交,主干分支保持线性,开发分支合并进主干分支并位于主干头部(丢失开发分支创建的节点)
# 将开发分支的提交移动到主干分支之后git rebase <main_branch>
# 切到主干分支
git checkout <main_branch>
# 将主干分支的指针移动到开发分支最新提交
git rebase <dev_branch>
merge + rebase
类似 merge,但是开发分支只有一次提交,不如直接 git merge –squash?
# 在开发分支上将若干次提交合并(使用 squash 命名合并提交,参考:https://blog.csdn.net/w57685321/article/details/86597808)git rebase -i <合并开始节点的基准,可以是分支名或commit hash>
# 切到主干分支
git checkout <main_branch>
# 合并开发分支
# git merge <dev_branch>
以上是 Git 实用指南 的全部内容, 来源链接: utcz.com/z/264563.html