我正在研究一个在Github上搞砸了的项目。
目前,master
分支是一个旧的未使用的分支(它用角度写入mdl而不是角度材料)。实际项目现在在另一个分支。
当前状态2分支:
master
(未使用,但不应删除)protoype
(我们要将其重命名为master
,而不会丢失提交历史记录)我搜索了很多,但找不到合适的解决方案,因为我们不想放弃原型分支的提交历史,我们不能简单地创建一个新分支并将其推送到新分支中(至少这就是我理解的方式)它)。
所以,我正在寻找的是移动,重命名或任何实际的原型分支而不会丢失提交历史
通缉状态:
prototype
分支重命名为master
分支,包括提交历史记录master
分支重命名为old
分支,其中包含(可选地包括提交历史记录)我要感谢任何帮助!
更新
当然我找到了许多描述如何重命名分支的博客和链接。但我没有发现提交历史是否仍然可用,因为它听起来就像你只是将分支的当前状态移动到一个新的分支。但现在我发现this answer on stackoverflow回答了我的问题!所以,是的,使用git branch -m
移动分支也会复制提交历史记录!
感谢您的帮助!
但仍然有一个问题:这两个答案有什么区别?结果是一样的,还是有理由我更喜欢一个而不是另一个?
# Normal state, for me at least
$ git branch
=> master
# Get into your dev branch.
$ git checkout dev
=> dev
# Now we make a new branch `development' based on `dev'
$ git checkout -b development
=> development
$ git branch -d dev
#rename the local branch to the new name
git branch -m old_name new_name
#delete the old branch on remote - where <remote> is eg. origin
git push <remote> --delete old_name
#push the new branch to remote
git push <remote> new_name