2013-11-21 68 views
4

我目前正在考慮使用Git從OpenInsight應用程序管理源代碼。由於OI代碼存儲在數據庫表中,因此需要進行一定量的手動工作才能將源文件導出到文本,反之亦然。防止在Git中結帳

到目前爲止,我已經成功地自動化了很多使用Git掛鉤這項工作的,但是當用戶切換分支我有一個缺乏「結帳前的」勾給了我一個問題..

結賬鉤子來區分舊的和新的分支,並存儲已更改的過程的列表。當用戶下一次啓動OI時,所做的更改將從文本文件中拉出並進行編譯..到目前爲止這麼好..但是,如果用戶要切換分支,比如說從A到B,然後再次切換到C而不啓動OI,那麼OI中的源代碼將用於分支A,但差異將在B和C之間。

爲了解決這個問題,我希望能夠使用預結帳掛鉤來檢查是否存在包含文件未編譯的更改列表並停止用戶切換分支,直到它們被編譯進來。是否有任何其他建議停止結帳?

回答

1

我也在找這個最近發現一個線程討論當前(嗯... 2010)狀態的githooks

http://git.661346.n2.nabble.com/Why-there-is-no-pre-checkout-hook-td5638042.html

從螺紋:

奧斯卡Fuentes寫道:
...
因爲你可以使用你的腳本來代替「git checkout」。

您是否考慮編寫腳本,開發人員可以將其作爲其開發工作流程的一部分?這樣你可以檢查是否存在未編譯的更改列表。這基本上是我們最終做的,它確實幫助我們簡化/標準化了我們的工作流程。

+0

謝謝dnorton。這是我考慮過的一個選項,但團隊中的其他開發人員之前沒有使用過git,所以我試圖儘可能簡化工作流程(我有開發人員發現它「太不同」且複雜的實驗)。 無論如何,我已經過去了需要預先結賬的鉤子。它現在是一個後置重置的我想:) – ChrisMurray

+0

我感覺你的痛苦 – dnorton