提问这个问题的方法可能不止一种,所以这里是问题的解释.我正在做主人并且做了一些事情,然后我决定把这项工作搁置一边.我支持了一些提交,然后在我开始我的垃圾工作之前分支.实际上这很好用,我刚才有一个不同的分支作为我的主要开发分支.我想知道我怎么能改变一切,所以我再次为大师工作,但它没有我的垃圾工作,并说工作是在另一个分支.
可以通过某些方式询问/解决这个问题:如何将我的主分支重命名为其他内容,然后将其他内容重命名为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