2012-09-20 11 views
0

我是Git的新品牌,對我如此光榮。我們在工作的整個代碼庫位於IIS Windows環境中。我的任務是將 的代碼複製到我們新的Linux Ubuntu服務器上,並通過代碼進行必要的更改以使其在Linux機器上運行。它花了幾個月,但它的工作。與此同時,代碼更新是由另一名開發人員在生產Windows服務器上向代碼庫進行的。現在我的任務是將更改推送到Linux中,以便我們可以將觸發器拉到新環境中運行。Linux到Windows存儲庫的拉動和推動

問題:

當我執行git push origin master我被拋出一個錯誤,說明我必須執行pull第一。在發散並運行一個git status它說我有`11和3分別提交每個。問題在2個月的時間裏,我不記得所做的所有更改,並且有些東西可能會在Windows環境中崩潰,即使很短的時間也不會發生。我只需要一些建議。

我想知道是否可以創建一個origin master的克隆,然後將更改推送到我的本地從prod,合併文件,然後上載到Linux中,因爲我現在無法推送到Linux,因爲需要拉動。

否則我願意接受任何和所有的建議,並且非常感謝你提前!

回答

1

當您執行git pull時,遠程origin分支中的更改合併到您當地的origin分支中。可以這麼說,這就是你的「本地克隆原產地/主人」。檢查您自己的主分支的狀態,如果一切正常,則推送您的更改。

運行gitk --all前後拉,你會看到合併發生,但只有你的系統。

+0

這樣做更有意義。我可以從開發人員的電腦上做到這一點。出於某種原因,我試圖從prod服務器存儲庫本身運行推送,這沒有任何意義。所以如果我在想你說的是對的,我會把他的機器(本地)合併,然後推到linux的盒子。我明天會做這件事並回復你。 – Naterade

+0

請注意,當您在主人身上時,「git pull」通常相當於'git fetch origin master && git merge origin/master'。如果存在任何合併衝突,合併操作將被中斷 - 那麼您將不得不手動處理衝突並'git commit'結果。 – cdhowie