重命名GitHub分支并继续提交历史记录

时间:2017-12-05 16:42:45

标签: git github branch branching-and-merging

我正在研究一个在Github上搞砸了的项目。 目前,master分支是一个旧的未使用的分支(它用角度写入mdl而不是角度材料)。实际项目现在在另一个分支。

当前状态2分支:

  • master(未使用,但不应删除)
  • protoype(我们要将其重命名为master,而不会丢失提交历史记录)

我搜索了很多,但找不到合适的解决方案,因为我们不想放弃原型分支的提交历史,我们不能简单地创建一个新分支并将其推送到新分支中(至少这就是我理解的方式)它)。

所以,我正在寻找的是移动,重命名或任何实际的原型分支而不会丢失提交历史

通缉状态:

  • 原始prototype分支重命名为master分支,包括提交历史记录
  • 原始master分支重命名为old分支,其中包含(可选地包括提交历史记录)

我要感谢任何帮助!

更新

当然我找到了许多描述如何重命名分支的博客和链接。但我没有发现提交历史是否仍然可用,因为它听起来就像你只是将分支的当前状态移动到一个新的分支。但现在我发现this answer on stackoverflow回答了我的问题!所以,是的,使用git branch -m移动分支也会复制提交历史记录!

感谢您的帮助!

但仍然有一个问题:这两个答案有什么区别?结果是一样的,还是有理由我更喜欢一个而不是另一个?

Answer 1:

# 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

Answer 2:

#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

0 个答案:

没有答案