git – 有没有办法让本地分支不可变?

我非常愚蠢,有时我会在错误的主分支中合并一个“功能分支”而不是开发分支,这当然会导致痛苦和痛苦.

由于这已经是第二次发生了这种情况,我想知道是否有办法让我在本地创建一个不可变的分支.

我已经尝试过使用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
点赞