您添加提交到my-destinations
,在你的本地回購,不master
:
a <-- master ref is (a)
\
b - c - d <-- my-destinations ref is (d)
當你推到origin
,遠程回購,它只是把你現有的本地master
分行,並提出了遠程回購master
是一樣的。換句話說,遠程master
更新爲參考(a),就像您的本地master
一樣。如果它已經在(a),那麼對遙控器完全沒有改變。
您的遙控器命名爲origin
,這是標準的命名約定。所以,如果你添加本地跟蹤分行遠程master
,它會被稱爲origin/master
,它會引用發生該分支推後的相同承諾:
a <-- master (a)* <-- origin/master (a)
\
b - c - d <-- my-destinations (d)
(*) - Indicates branch that is checked out
需要注意的是,如果你沒有推而my-destinations
被檢出,然後origin
不會有新的提交b,c和d,除非使用命令行標誌或其他方法將所有分支推送到origin
。如果您確實推送了my-destinations
,那麼在遙控器上也會有b-c-d提交,並且還會指向(d)的本地跟蹤參考。
但最大的問題是如何讓你的新提交回master
。爲了從my-destinations
讓您的新提交到master
,你可以git merge my-destinations
與主簽出,其中,在這種情況下,將只是「快進」大師達(d)提交,因爲master
被引用的my-destinations
父(即他們沒有分歧 - 你可以認爲abcd是一條直線而不是一條分支)。合併之後,你會:
a <-- origin/master (a)
\
b - c - d <-- master (d)* <-- my-destinations (d)
然後,推到遠程之後,origin/master
將更新以便它匹配master
在提交(d) - 即所有三個裁判將被指向(d)。
注:如果master
和my-destinations
有分歧,你可以合併或重訂,使他們重新走到一起。在Google中查找「visual git教程」,你應該運行幾個很好的教程來指導你完成這些教程。
另請參見:我推薦Git Extensions作爲一個開源GUI工具,它將幫助您更準確地瞭解您的分支機構,提交本地和遠程操作的GUI。它幫助我更輕鬆地學習Git,在Visual Studio或前臺的其他工具中工作時,我總是在後臺打開它。它會基本向您展示類似於上述圖表的任何回覆,您可以隨時進行更改。
您從未將更改合併到'master'中,爲什麼它會落後?你需要'git checkout master && git merge my-destinations'來改變'master' – CoryKramer
當我嘗試git merge git響應「not something we merge」時,這個響應指的是什麼? – meddy
https://stackoverflow.com/questions/16862933/how-to-resolve-gits-not-something-we-can-merge-error – CoryKramer