38

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

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

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

4

4 回答 4

53

你可以试试这样的。从这个很好的答案修改的答案,以满足 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
于 2016-01-31T20:27:50.237 回答
26

SourceTree 2.0.20.1 版的指令

  1. 在“分支”下重命名本地分支
    • 右键单击分支并选择“重命名分支名称
  2. 删除“REMOTES”下的远程分支
    • 右键单击分支并选择“删除分支的来源/名称
  3. 将重命名的本地分支推送到 GitLab
    • 左键单击您重命名的本地分支
    • 单击功能区栏上的“推送”按钮
于 2017-05-10T03:52:50.800 回答
3

你可以试试这样的。

git branch -m <old_branch_name> <new_branch_name>
于 2021-11-03T05:26:56.047 回答
-3

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

$ git 还原头

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

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

现在,在您推送到错误的存储库之前,一切都应该恢复正常。

于 2018-03-01T17:35:36.143 回答