合并分支
squash merge
用上了squash merge后,每个被合并的分支在develop上就只有一个commit,不管要回退哪一个都很方便。
git merge --squash但要注意, Squashing 并在合并时编写一个好的提交消息
rebase merge
rebase 的主要好处是可以获得更清晰的项目历史。首先,它消除了 git merge 所需的不必要的合并提交;其次,正如你在上图中所看到的,rebase 会产生完美线性的项目历史记录,你可以在 feature分支上没有任何分叉的情况下一直追寻到项目的初始提交。这样可以通过命令 git log,git bisect 和 gitk 更容易导航查看项目。
在多人协作中,应该遵循以下指导原则:
- 在个人开发分支上进行 rebase:如果你在个人开发分支上进行 rebase,这不会对其他开发者产生影响,因为这个分支只属于你个人。
- 在共享仓库的主分支上使用 merge:在共享仓库的主分支(如 master 或 main)上,推荐使用 merge 来将开发的功能或修复合并回主分支。这样可以保留每个开发者的提交历史,易于跟踪和回溯。
- 协作时协商:如果有特殊情况需要在共享仓库的分支上进行 rebase,应该与其他开发者进行充分协商,并确保大家都知道并同意这个变更。
merge
整理分支
## 删除本地分支:
git branch -d 分支名(remotes/origin/分支名)
##强制删本地:
git branch -D 分支名
##删除远程分支:
git push origin --delete 分支名(remotes/origin/分支名)
## 修剪远程分支
git remote prune origin批量删除本地分支
## 列出所有本地分支
git branch
git checkout master
## '留 master'
git branch | grep -v 'master' | xargs git branch -D日志查找
git reflog