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