我总是不小心修改我的" live ";分行而不是我的"工作"。分支。
因此,按照主分支中防止提交的建议,我在预提交钩子中添加了一个提交停止器。现在我只能合并到活分支中,不能提交。(我想这也意味着我不能合并——挤压)。(真希望有一种方法能说这些文件不能被编辑。? ?)所以我在live上做了大量的改变,现在' live ';显示大量修改过的文件。
所以我认为我的策略是:保存所有未提交的工作:git Stash -u
清除活动分支中的所有更改。
现在从live创建一个新的特性分支:Git分支-b work2
现在将更改解藏到新的分支中Git stash pop.
那我就可以走了。我可以提交work2,然后合并到live。
这是正确的/合理的/正义的吗?
你可以隐藏它们:
git add .
git stash
git checkout -b my_new_branch
git stash pop
git commit -m "my commit message"
但是,如果您没有向错误的分支提交任何内容,您可以立即将该分支签出到另一个分支,然后提交您所拥有的工作。比起隐藏,我更喜欢这样:
git checkout -b my_new_branch
git add .
git commit -m "my commit message"
这将工作,特别是如果你正在工作的错误分支是最新的提交到你想要创建的新分支的状态。如果不是,那么隐藏可能是更好的选择,只获取你所做的新工作。