我非常愚蠢,有时我会在错误的master
分支中合并“功能分支”而不是develop
分支,这当然会导致痛苦和痛苦。
由于这已经是第二次发生这种情况,我想知道是否有办法让我在本地创建一个不可变的分支。
我已经尝试使用this pre-commit hook来阻止我直接在所述分支上进行提交,但这不会像以下那样停止合并:
git checkout master
git merge wip
有没有办法阻止对本地分支的所有可能更改?如果没有,是否至少可以防止推送更改?
答案 0 :(得分:2)
您不能使本地分支不可变(在合并操作之前没有运行的本地钩子)。但是,如果您不打算在分支上提交,请不要查看。如果已经签出,请删除本地分支:
$ git checkout some-other-branch
$ git branch -D master
现在,当您尝试签出master
分支时,它将失败:
$ git checkout master
error: pathspec 'master' did not match any file(s) known to git.
如果您需要引用上游master
分支(例如,diff
分支),您可以直接引用它:
$ git diff origin/master