我刚开始一个新项目,我正在使用GitLab和SourceTree。我创建了一个分支(origin \ master),但是我错误地将这个分支用于我的开发,所以我将我的前几个更改推送到了这个分支。现在我了解到这个分支实际上应该有生产版本,并且应该使用origin \ develop分支进行开发。
有没有办法可以将master分支重命名为origin \ develop,并以某种方式使用原始版本的应用程序创建一个新的origin \ master分支?
我是项目中唯一的开发人员,因此不会影响任何人。如果可能的话,如果你可以解释如何在SourceTree中这样做,因为我不使用命令行git。我对SourceTree更熟悉。
答案 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
答案 2 :(得分:-1)
解决此问题的最简单方法是还原提交。如果这是最后一次提交,您可以通过执行以下操作来解决此问题:
$ git revert HEAD
如何在源代码树中执行此操作如下:
http://flummox-engineering.blogspot.com/2014/10/how-to-undo-git-commit-in-sourcetree.html
现在一切都应该恢复正常,然后再推送到错误的存储库。