免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Git rebase


當(dāng)本地commit一個(gè)提交和遠(yuǎn)端服務(wù)器中的代碼有沖突(別人也改了相同的文件)時(shí)可以在pull 中加 –rebase。加上 rebase 的意思是:

git pull --rebase
  1. 把本地 repo. 從上次 pull 之后的變更暫存起來
  2. 恢復(fù)到上次 pull 時(shí)的狀態(tài)
  3. 合并遠(yuǎn)端的變更到本地
  4. 最后再合并剛剛暫存下來的本地變更

合并前:

      D---E master     /A---B---C---F origin/master

使用 merge 合并后:

      D--------E       /          A---B---C---F----G   master, origin/master

如果是 rebase 的方式,就不會(huì)有 G 合并點(diǎn):

A---B---C---F---D'---E'   master, origin/master

注意到,其中 D’, E’ 的 commit SHA 序號跟本來 D, E 是不同的,應(yīng)為算是砍掉重新 commit 了。

rebase vs. merge

rebase 跟 merge 類似,出現(xiàn) conflict 會(huì)暫停 rebase 動(dòng)作,需要你手動(dòng)修復(fù)后,然后才可以繼續(xù)動(dòng)作。這也是 rebase 比 merge 復(fù)雜一點(diǎn)的地方:merge 如果發(fā)生 conflict,你只需要解決沖突一次,然后commit 出去就完成了。而 rebase 的 conflict 可能會(huì)發(fā)生在上述步驟 4 的每一次重新套用上,所以可能需要解決沖突好幾次 (rebase 時(shí)所謂的解決沖突,其實(shí)是直接修改你之前的變更內(nèi)容,所以上圖中變成 D’ 跟 E’ )。

配置

如果想要把 rebase 當(dāng)做 git pull 的默認(rèn)值,可以在 .git/config 加上

[branch "master"]  remote = origin  merge = refs/heads/master  rebase = true

也可以直接加到 ~/.gitconfig 讓所有的 tracked branches 都自動(dòng)套用這個(gè)設(shè)定:

[branch]    autosetuprebase = always

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
{|ihower.tw| blog } | Git 版本控制系統(tǒng)(2) 開 branch 分支和操作遠(yuǎn)端 repo.
一個(gè)讓學(xué) Git 命令變得好玩又有趣的神奇網(wǎng)站
簡單對比git pull和git pull
git pull push沒有指定branch報(bào)錯(cuò)的解決方法
Git 進(jìn)階指南
通過 41 個(gè) 問答方式快速了解學(xué)習(xí) Git
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服