例如有一個項目的master分支下有一個通用類A
我建立了一個新的分支dev進(jìn)行開發(fā)(本地存在2個分支,1個是master,1個是dev),第二天master分支的類A代碼更新了
而我如果拉取dev分支的話,A依然是舊版本的,如果拉取master分支的文件到本地dev的話,本地的master和dev就會顯示合并了,請問要如何解決呢?
如果拉取master分支的文件到本地dev的話,本地的master和dev就會顯示合并了,請問要如何解決呢?
當(dāng)然不要把 master 拉取到 dev 了,這樣本質(zhì)上就是 fetch + merge 操作,所以這是必然的。
解決的辦法其實有很多,我比較喜歡用 rebase
,也就是先 pull master
,然后在 rebase
,也就是先 pull master
,然后在 dev 分支下 rebase master
。這樣做就等于把 dev
分支重新“落戶”在 master
分支的最新節(jié)點(即:HEAD)上——當(dāng)然,這個過程和 merge master
dev
rebase master
。這樣做就等于把 dev
分支重新“落戶”在 master
分支的最新節(jié)點(即:HEAD)上——當(dāng)然,這個過程和 merge master
一樣會出現(xiàn)沖突解決(取決于差異的情況),但是它不會合并兩個分支。另外這個過程應(yīng)該經(jīng)常做(如果 master 經(jīng)常更新的話);同時如果 master 就是你們用來部署的分支,那最好不要經(jīng)常更新它,否則出錯了回滾起來討厭得很。??
你可以checkout其他commit中的一個文件
git checkout origin/master -- 那個文件