GitLab重命名分支并从另一个

时间:2016-01-31 20:23:31

标签: git gitlab atlassian-sourcetree sourcetree

我刚开始一个新项目,我正在使用GitLab和SourceTree。我创建了一个分支(origin \ master),但是我错误地将这个分支用于我的开发,所以我将我的前几个更改推送到了这个分支。现在我了解到这个分支实际上应该有生产版本,并且应该使用origin \ develop分支进行开发。

有没有办法可以将master分支重命名为origin \ develop,并以某种方式使用原始版本的应用程序创建一个新的origin \ master分支?

我是项目中唯一的开发人员,因此不会影响任何人。如果可能的话,如果你可以解释如何在SourceTree中这样做,因为我不使用命令行git。我对SourceTree更熟悉。

3 个答案:

答案 0 :(得分:33)

你可以尝试这样的事情。答案修改自this great answer,以满足OP的需求。

git branch -m master develop    # rename master on local
git push origin :master         # delete master on remote
git push origin develop         # create develop on remote
git checkout -b master develop  # create a new local master on top of develop
git push origin master          # create master on remote

答案 1 :(得分:14)

SourceTree版本,版本为2.0.20.1

  1. 重命名" BRANCHES"
    • 右键单击分支并选择"重命名分支机构名称"
  2. 删除远程分支" REMOTES"
    • 右键单击分支并选择"删除原点/ 分支机构名称"
  3. 将重命名的本地分支推送到GitLab
    • 左键单击您重命名的本地分支
    • 点击"推送"带状栏上的按钮

答案 2 :(得分:-1)

解决此问题的最简单方法是还原提交。如果这是最后一次提交,您可以通过执行以下操作来解决此问题:

$ git revert HEAD

如何在源代码树中执行此操作如下:

http://flummox-engineering.blogspot.com/2014/10/how-to-undo-git-commit-in-sourcetree.html

现在一切都应该恢复正常,然后再推送到错误的存储库。