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

Ray*_*Ray 20 git gitlab atlassian-sourcetree sourcetree

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

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

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

Dom*_*cEU 39

你可以尝试这样的事情.从这个伟大的答案修改的答案,以满足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
Run Code Online (Sandbox Code Playgroud)

  • 不应该`git checkout -b master develop`是`git checkout -b master <commit>`,其中<commit>是最初在master上的最后一次提交? (3认同)

小智 15

SourceTree版本从版本2.0.20.1开始

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

  • 按照原始问题的要求,对实际寻址SourceTree的称赞。 (2认同)
  • 不过风险很大..如果出现任何问题,你的进度就会丢失。我宁愿: 1. 在现有分支的本地创建一个新分支(只需单击顶部菜单栏中的“分支”)-&gt; 为其指定所需的名称,将新分支推送到远程,上传后删除本地的旧分支并继续遥控器 (2认同)