我剛剛完成了http://learngitbranching.js.org/的所有練習,我現在對此非常有信心。我明白了所有這些,並且做了每個練習,而不必考慮太多。顯然,這些只是初學者練習,我現在只是一個Git新手,但理解一些東西感覺很好。現在我可以正確版本控制我的工作,而不是依賴複製工作版本的文件。基於舊提交推送更改,如何解決?
不管怎麼說,我有一個關於合併回可能引入錯誤的遠程問題/
考慮這種情況:
我檢查出的遙遠而明亮回購的最新主分支上週一和分支它在本地工作一個新功能。這個功能可以說是與自定義類中的某些類方法進行交互,
現在在週二,我的朋友檢查了master分支,並在本地分支它,並決定他有更好的方法讓同一個類運行。所以他繼續前進,對課程進行修改,可能會刪除其中的某些方法並編寫不同的方法。可以說他承諾這些改變,並在星期三把它們推回遠程的起源/主人。
現在是星期四,我剛剛花了最近三天的時間編寫與已更新的類進行交互的新功能。假設我的功能需要一些我的朋友在更新班級工作時刪除的類方法。我做了拉和推,發生了什麼?
我假設發生什麼事是,當我拉我的文件將更新與它的最新版本的類和方法,我的功能,可能是一個單獨的文件將與新的主文件合併,因此包括一個文件引用一個現在已經過時的版本。所以,當我推我推送功能將無法正常工作,並會有錯誤(甚至更糟,甚至沒有編譯),因爲它引用了不存在的方法。
這是常見的嗎?這在生產中如何解決?當特定班級發生變化時,您是否需要口頭溝通您的團隊工作,並且任何與該班級相關的功能的工作人員都需要將他們的功能建立在新班級之上?
難道你的朋友完全刪除功能/你依靠的,還是他只是重構它們的功能(例如,改變函數/類的接口)? – Darthfett