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

时间:2016-03-19 13:12:13

标签: git branch githooks

我非常愚蠢,有时我会在错误的master分支中合并“功能分支”而不是develop分支,这当然会导致痛苦和痛苦。

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

我已经尝试使用this pre-commit hook来阻止我直接在所述分支上进行提交,但这不会像以下那样停止合并:

git checkout master
git merge wip

有没有办法阻止对本地分支的所有可能更改?如果没有,是否至少可以防止推送更改?

1 个答案:

答案 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