我知道在各种git托管站点上,您都可以制定一个策略,即不能直接将其推到某个分支,而需要发出拉取请求-我的本地存储库中有什么方法可以确保我不能也承诺加入这些分支?我一直发现自己忘记创建功能分支,将更改提交到主分支(开发,母版等),而不得不挑选它们并重置或重新克隆,以使我的本地分支与服务器同步。 / p>
答案 0 :(得分:2)
我一直都这样做。您无需费力去解决它。假设我在分支develop
上,并且错误地对此进行了承诺。我所要做的就是创建我应该之前创建的功能分支:
git checkout -b myfeature
然后,由于我还没有推送develop
,因此可以直接删除本地develop
分支:
git branch -d develop
就是这样!一切都已排序,就好像我在提交之前创建了分支一样。
您的新myfeature
分支已经具有您所做的提交,而origin/develop
没有提交,因为您从未推送过develop
。正是您想要的。
下次您做
git checkout develop
您将在myfeature
分支之前处于提交状态,因为git
将develop
放在origin/develop
处。
没有必要阻止自己提交到本地develop
。这个“错误”非常容易解决,我什至不认为会出错。无论我在提交之前还是之后创建功能分支,这对我来说实际上都没有关系。
git
的工作原理。有大量的教程。不要仅仅停留在最基本的知识上。从长远来看,它将节省您吨的时间。