我承認有時候我不應該使用git commit -a
。它的反應時間大概是一半,我經常在認爲我在單獨的倉庫中工作 - 但我實際上在一個更大的項目中工作,這將會影響到目錄和目錄。如何阻止我使用'git commit -a'?
是否有.git/config
設置我可以指定這將導致-a
標誌引發錯誤?
我承認有時候我不應該使用git commit -a
。它的反應時間大概是一半,我經常在認爲我在單獨的倉庫中工作 - 但我實際上在一個更大的項目中工作,這將會影響到目錄和目錄。如何阻止我使用'git commit -a'?
是否有.git/config
設置我可以指定這將導致-a
標誌引發錯誤?
是否有.git/config設置我可以指定這會導致-a標誌引發錯誤?
不是我所知道的。
你需要一個git包裝器來檢查參數(「commit
」,「-a
」,...),並且在特定的命令「commit -a」會引發錯誤。
Jubobs'script(在comment above中提到)是這種包裝的一個很好的例子。
不,git配置中沒有任何內容會執行此操作。但是,有一個解決方案,它是git掛鉤。
Git鉤子是在執行git命令之前或之後執行的腳本 - 例如,如果沒有提交消息,就會有一個鉤子失敗。所以你可以爲你的需求編寫一個鉤子鉤子,這個鉤子在提交的時候會馬虎。但是,我個人並不會讓它失敗,而是顯示一個額外的提示(例如「你確定嗎?是/否」)。想想看,你真的想永遠阻止功能嗎?
更多信息: http://git-scm.com/book/en/Customizing-Git-Git-Hooks
祝您好運!
你如何獲得鉤子中的git命令和選項? – 2014-10-08 09:06:15
如果我有一個簡單的方法來檢測「馬虎」的提交,但是如果我能以另一種更簡單的方式做到這一點,那麼把這麼多的邏輯看起來很浪費,這將會起作用。但感謝這個想法,這是一個好主意! – 2014-10-09 03:21:57
感謝VonC,我設計了一個簡單的功能我停留在我的RC文件:
git() {
if [[ ($1 == "add") || ($1 == "stage") || ($1 == "commit") ]]; then
if [[ [email protected] == *-a* ]]; then
echo "Don't use 'git $1 -a'.";
else
command git "[email protected]";
fi
else
command git "[email protected]";
fi;
}
優秀。這看起來很好。 +1 – VonC 2014-10-09 05:36:47
沒有,我能看到。你可以破解commit.c是關於它的。 – 2014-10-08 06:11:53
相關:http://stackoverflow.com/questions/25884007/disable-git-add-command/25886149#25886149 – Jubobs 2014-10-08 06:44:08
有人能指出我的方向,說明爲什麼 - 一個壞的東西? – 2014-10-08 09:19:27