GitLab重命名分支并从另一个重新开始

问题描述 投票:19回答:3

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

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

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

git gitlab atlassian-sourcetree sourcetree
3个回答
32
投票

你可以尝试这样的事情。从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

14
投票

SourceTree版本从版本2.0.20.1开始

  1. 在“分支”下重命名本地分支 右键单击分支并选择“重命名分支的名称”
  2. 删除“REMOTES”下的远程分支 右键单击分支并选择“删除分支的原点/名称”
  3. 将重命名的本地分支推送到GitLab 左键单击您重命名的本地分支 单击功能区栏上的“推送”按钮

-1
投票

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

$ git还原HEAD

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.