2011-06-22 79 views
0

的Git允許你犯即使當有未合併狀態文件,當我使用不允許提交文件時處於未合併狀態

git commit -a -m "message" 

我知道是有效的,但有什麼辦法可以阻止從提交使用-a選項,用戶以後合併

感謝 安基塔的Nema

回答

2

我將開始在問題的根源,並檢查爲什麼有不分階段的變化,當你做一個合併。

作爲一條經驗法則,您可以在執行pull操作之前更改stash awaycommit,這樣您的存儲庫對於傳入的合併是乾淨的。

樣品:

假設你正在做某件事情,不想現在因爲你沒有做承諾。但是你需要合併一些對你的任務很重要的東西。

git stash save "description" 
git pull 
# merge everything and commit merge changes 
git stash pop #brings back all your changes from before 

Git會再重新申請保存與GIT藏匿拯救一切,你是ontop的與你提交的修改合併倉庫的。

0

您可以使用「預先提交」掛鉤。

在「.git/hooks」目錄中,創建一個名爲pre-commit的可執行文件。

每次在存儲庫上完成提交時都會觸發此程序:如果返回碼不是0,則提交將中止。

在這個程序中,你可以查看文件進行COMMITED爲 「< < < < < < < ...」 鏈。如果你發現它,這是一個線索,仍然有unmerge文件:所以你拒絕提交(帶有明確的錯誤信息)。

您可以在「.git/hooks」目錄中找到一個「pre-commit.sample」文件,向您展示pre-commit的工作方式。你只需要適應它(一個簡單的「grep」應該沒問題)。

+0

好主意,你有一個示例腳本? –

相關問題