在Git中,讓我們說,我一直工作在當地的分支:如何使用本地和遠程Git存儲庫之間的差異創建單個提交?
Common ancestor
/\
A \
/ X
B \
/ Y
C remote
local
我做了本地提交A,B和C,並在平均時間的遠程分支移動與提交X和Y.所以我一拉,並得到:
Common ancestor
/\
A \
/ X
B \
/ Y
C /remote
\ /
\ /
\/
\/
M
local
如果我現在推,遠程歷史將包括我所有的A,B,C和M提交...但是這不是我想要的。
我想只是把與我的本地分行的差異爲單一提交這樣的遠程分支將只是看起來像這樣有沒有合併的複雜性:
Common ancestor
\
\
X
\
Y
\
N
remote
我怎樣才能做到這一點?
感謝您的回答,但不太清楚這將工作......'git merge master'將提交A,B和C帶入歷史記錄中,除了* N * commit之外,它們不會被推送嗎? –
@SteveChambers所以你需要避免提交? –
是的 - 讓我們換一種方式:我想讓它看起來好像我只是拉動了遠程分支並做了一些改變,而沒有其他人在同時改變任何東西 - 所以只有一行歷史。我明顯可以通過將遠程設備插入新的本地分支並快速重新應用我的更改來實現此目的,但我想知道是否有更簡單/更好的方法。 –