InteliJ:在master分支上强制只读

时间:2017-01-11 09:02:07

标签: git svn intellij-idea

我们的团队即将从SVN切换到Git。我们都使用IntelliJ Idea作为IDE。

看到许多人每天都在SVN主干上工作,我担心,尽管经过培训和许多警告,许多人有时会忘记分支并在主分支编辑(我知道)我不喜欢它!)。

我意识到有一些方法可以保护master,甚至避免不允许直接提交,但有没有办法配置IntelliJ以某种方式警告用户,或者在主分支中禁止他们进行编辑?

1 个答案:

答案 0 :(得分:2)

据我所知,名为master的本地分支与任何其他本地分支没有什么不同,至少从Git的角度来看,可能是IntelliJ的Git插件。我认为保护master分支不被直接提交绝对需要存储在存储库方面。

如果你真的想在本地屏蔽,你可以use a pre-commit hook

话虽这么说,如果开发人员意外地开始在master本地工作并做了一些提交,那么有一种相当直接的解决方法:

git checkout master
# work, add files
git commit -m 'did some work'

git checkout -b feature_branch    # create feature branch from local master
git checkout master               # return to local master branch
git reset --hard HEAD~N           # replace N with number commits made to master

上面的三个直接Git命令从master创建一个新分支,其中包含开发人员已经完成的相同工作。然后,我们返回master并删除开发人员已经提交的提交。现在,开发人员拥有他原本打算拥有的功能分支,并且master将恢复到其初始状态。