当我使用
时,即使文件处于未合并状态,Git也允许您提交git commit -a -m "message"
我知道它有效但有没有办法阻止用户在合并后使用commit -a选项
由于 Ankita Nema
答案 0 :(得分:2)
我将从问题的根本开始,并检查合并时存在未分级更改的原因。
根据经验,在进行拉取之前要么stash away进行更改,要么commit这些更改,以便您的存储库对于传入的合并是干净的。
样品:
假设您正在处理某些事情,并且现在不想提交,因为您还没有完成。但是你需要合并一些对你的任务很重要的东西。
git stash save "description"
git pull
# merge everything and commit merge changes
git stash pop #brings back all your changes from before
然后,Git将重新应用您使用git stash save保存的所有内容,并且您可以使用未提交的更改来合并存储库。
答案 1 :(得分:0)
您可以使用“预提交”挂钩。
在“.git / hooks”目录中,创建一个名为pre-commit的可执行文件。
每次在存储库上完成提交时都会触发此程序:如果返回代码不为0,则提交将中止。
在此程序中,您可以检查要为“<<<<<<<<<<< ...”链提交的文件。如果您找到它,那么仍然存在未合并文件的线索:所以您拒绝提交(带有明确的错误消息)。
您将在“.git / hooks”目录中找到一个“pre-commit.sample”文件,向您展示预提交的工作原理。你只需要适应它(一个简单的“grep”应该没问题。)