2
如何推送到非裸Git存儲庫,自動添加並提交工作樹中的任何更改,然後重新簽出當前分支以反映推動?任何缺點Git推送到非裸回購,保存當前工作樹
添加一個鉤子上的遠程(非裸露的回購協議)運行git add . && git commit -m "Automated commit" && git reset --hard
在那裏該方法:
我在想這樣的事情?有沒有另外一種方法呢?
(聲明:我知道,這不是最理想的情況,但這是我們所擁有的在我的公司,我希望把它作爲精簡越好,而不需要每個人都徹底改變他們的方式做事)
謝謝!
我覺得很不喜歡這些腳本,因爲它們是蹩腳的:1)爲什麼沒有'set -e -u'?如果腳本的任何部分失敗會發生什麼? 2)爲什麼'git-branch | sed'雜技而不是'git rev-parse HEAD'? 3)在文檔中,當鉤子運行時,假定某個當前目錄是假定的?爲什麼'GIT_DIR'明確未設置? – kostix 2013-05-15 10:24:19
因此,如果您有更好的答案,請提供答案。我拿了git分支| sed從堆棧溢出的另一個問題。我做了一次檢查,看看當前目錄是什麼,原來是.git目錄的根。有一個問題,如果你使用CD,如果你希望git命令使用當前目錄而不是GIT_DIR的值,你必須明確地取消設置GIT_DIR。 – jraede 2013-05-16 02:38:40
我沒有副手答案,我想指出[貨物崇拜編程](http://en.wikipedia.org/wiki/Cargo_cult_programming),無意識地複製和粘貼隨機代碼不是一件好事實踐。這就是爲什麼它是一個評論 - 它並不涉及問題本身。 – kostix 2013-05-16 07:56:56