我有一个master
/ develop
分支系统,我已经爱上了它,但它带有一个基本规则。没有在develop
或master
上进行提交,只会进行合并。这很好,但是最近我不小心对我的开发分支进行了一些更改/提交,这让我感到烦恼。
我考虑将这些提交的所有权从develop
转移到另一个已经存在的分支(我们称之为work
),这是我应该首先处理的那个,但是我决定让这一个去。相反,我想先解决这个问题。如何锁定分支,以便提交对传统的正常更改无效?
例如,如果您对“已锁定”分支进行了更改,则不能git add
,也不能git commit -a
。我认为技术上我要求锁定舞台,但你明白了。有什么想法吗?或者我会更好地学习git,以便我知道如何修复提交父母问题?
答案 0 :(得分:21)
复制此内容:
#!/bin/bash
if [[ `git symbolic-ref HEAD` == "refs/heads/master" ]]
then
echo "You cannot commit in master!"
exit 1
fi
到pre-commit
.git/hooks/
的文件中
它会阻止您进入分支master
。您可以轻松地自定义它以添加更多分支或个性化错误消息等。
顺便说一句,一个有用的技巧,知道你在master
进行修改但你想在somebranch
中提交它们的方法是:
git stash
git checkout somebranch
git stash apply
然后你就在somebranch
,你的修改准备就绪了!