[英]Switch branch names in git
提问这个问题的方法可能不止一种,所以这里是问题的解释。 我正在做主人并且做了一些事情,然后我决定把这项工作搁置一边。 我支持了一些提交,然后在我开始我的垃圾工作之前分支。 实际上这很好用,我刚才有一个不同的分支作为我的主要开发分支。 我想知道如何改变周围的事情,所以我再次为大师工作,但它没有我的垃圾工作,并说工作是在另一个分支。
可以通过某些方式询问/解决这个问题:如何将我的主分支重命名为其他内容,然后将其他内容重命名为master? 如何备份master然后导致我已经备份的所有提交都在另一个分支上?
感谢所有(快速)答案! 他们都很好。
除了其他注释,您可能会发现-m(move)切换到git-branch很有帮助。 您可以将旧主服务器重命名为其他服务器,然后将新分支重命名为master:
git branch -m master crap_work
git branch -m previous_master master
我认为你应该考虑采用不同的发展策略来防止这样的问题。 对我来说似乎最好的一个是永远不要直接在我的主分支上进行开发。 无论我正在做什么改变,我总是为新代码创建一个新的分支:
git checkout -b topic/topic_name master
从那里,我可以推出对公共存储库的更改:
git push pu topic/topic_name
或者最终只是将它与我的主分支合并:
git checkout master && git merge topic/topic_name
如果您真的需要回到较旧的时间点并将其设置为主数据库,则可以将当前分支重命名为其他分支,然后查看旧版本作为主数据:
git branch -m master junk git co -b master old_sha1_value
从master
开始,创建一个名为in-progress
的分支,然后将master
重置为先前的提交。
$ git branch in-progress
$ git reset --hard HEAD^
这相对容易:
git checkout -b fake_master master # fake_master now points to the same commit as master
git branch -D master # get rid of incorrect master
git checkout -b master real_master # master now points to your actual master
git checkout master # optional -- switch on to your master branch
这将在一步中将您的主人设置到任何一点:
git checkout -B master new_point
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.