嗯,我有我自己的git服務器,我用它在一些項目中工作。當拉和新版本的代碼時Git問題
所有客戶端都使用smartgit在windows中工作(v2.1 & 3)。
但是我注意到一些「問題」
當有人推新的代碼一堆你做拉(預期)你retrive新的代碼,但你的本地版本不會自動轉到新一。
這是真的,因爲
- 我需要找到被修改什麼文件,使我當地的復位,並推進到新的
- 當推只新增1個文件的IMPOSIBLE問題推進到新版本
我就是發現其他情況下,當我們2人的工作......我們會說我們有: foo.txt的和跳回到bar.txt
因此,如果我正在使用bar.txt並對其進行修改。 我推它到服務器
所以,1分鐘後我的朋友編輯foo.txt(沒有先拉動變化)。當他想要推送數據時,git會給出錯誤,因爲服務器有新的更改(但沒有該文件)
接下來會發生什麼?
從理論上講,喲必須能夠推動它,或者......先拉動然後推動。 但我們有第一個問題,這些文件不會覆蓋到新版本,所以你什麼都不做。
而我們發現的唯一解決方案(對我們來說太糟糕了)是複製所有項目。 進行拉動,覆蓋所有文件。並複製我們想要推送的修改。
這就是我們現在的方法,但非常緩慢,惱人的...
,並採取了混帳的一切美好的事物。
我們在這裏做錯了什麼?
肯定有一些錯誤的過程。提取新代碼應該將工作副本更新爲最新的結果。如果你嘗試沒有smartgit並使用正常的git客戶端呢?你看到同樣的問題嗎? – 2012-03-06 09:35:15
嗯好吧... git gui只是很好的工作。所以它似乎是一個聰明的git問題。 注意:無論如何,您需要指定git gui命令,以便在您推送到服務器時使用控制檯 – nax 2012-03-06 09:44:56
,smart git提供「配置主分支」選項並說它保留您的本地同步器與遙控器......也許就是這樣。但我不能測試,直到其他人推一些東西 – nax 2012-03-06 09:52:14