第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

功能分支rebase后Git推送被拒絕

功能分支rebase后Git推送被拒絕

Git
拉莫斯之舞 2019-09-06 17:22:08
好吧,我認(rèn)為這是一個(gè)簡(jiǎn)單的git場(chǎng)景,我錯(cuò)過(guò)了什么?我有一個(gè)master分支和一個(gè)feature分支。我做了一些工作master,一些工作,feature然后再做一些工作master。我最終得到這樣的東西(詞典順序暗示了提交的順序):A--B--C------F--G  (master)       \            D--E  (feature)我沒(méi)有問(wèn)題要git push origin master保持遠(yuǎn)程master更新,也沒(méi)有g(shù)it push origin feature(當(dāng)打開(kāi)時(shí)feature)為我的feature工作維護(hù)遠(yuǎn)程備份。到目前為止,我們很好。但是現(xiàn)在我想在主人feature的F--G提交之上重新定義,所以我git checkout feature和git rebase master。還好。現(xiàn)在我們有:A--B--C------F--G  (master)                 \                  D'--E'  (feature)問(wèn)題:當(dāng)我想要備份新的rebased feature分支時(shí)git push origin feature,推送被拒絕,因?yàn)闃?shù)由于變基而發(fā)生了變化。這只能通過(guò)解決git push --force origin feature。我討厭使用--force而不確定我是否需要它。那么,我需要它嗎?重新定位是否必然意味著下一個(gè)push應(yīng)該是--force完美的?這個(gè)功能分支不與任何其他開(kāi)發(fā)者共享,所以我事實(shí)上沒(méi)有問(wèn)題,推力,我不會(huì)丟失任何數(shù)據(jù),問(wèn)題更具概念性。
查看完整描述

3 回答

?
千巷貓影

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

而不是使用-f或--force開(kāi)發(fā)人員應(yīng)該使用


--force-with-lease

為什么?因?yàn)樗鼨z查遠(yuǎn)程分支的更改,這絕對(duì)是個(gè)好主意。讓我們想象一下,詹姆斯和麗莎正在研究同一個(gè)功能分支,麗莎已經(jīng)推動(dòng)了提交。詹姆斯現(xiàn)在重新調(diào)整他的當(dāng)?shù)胤种?,并在試圖推動(dòng)時(shí)被拒絕。當(dāng)然,詹姆斯認(rèn)為這是因?yàn)楦淖儾⑹褂?-force并且會(huì)改寫(xiě)所有Lisa的變化。如果詹姆斯曾經(jīng)使用過(guò)--force-with-lease,那么他會(huì)收到一個(gè)警告,告知其他人已做過(guò)提交。我不明白為什么有人會(huì)在推銷(xiāo)一個(gè)rebase之后使用--force而不是--force-with-lease。


查看完整回答
反對(duì) 回復(fù) 2019-09-06
?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊

對(duì)此的一個(gè)解決方案是執(zhí)行msysGit的rebasing合并腳本所做的事情- 在rebase之后,在舊的head中feature合并-s ours。你最終得到了提交圖:


A--B--C------F--G (master)

       \         \

        \         D'--E' (feature)

         \           /

          \       --

           \    /

            D--E (old-feature)

...而你的推動(dòng)feature將是一個(gè)快速前進(jìn)。


換句話說(shuō),你可以這樣做:


git checkout feature

git branch old-feature

git rebase master

git merge -s ours old-feature

git push origin feature

(未經(jīng)測(cè)試,但我認(rèn)為這是正確的......)


查看完整回答
反對(duì) 回復(fù) 2019-09-06
?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

問(wèn)題是git push假設(shè)遠(yuǎn)程分支可以快速轉(zhuǎn)發(fā)到本地分支,即本地和遠(yuǎn)程分支之間的所有區(qū)別在本地有一些新的提交,如下所示:


Z--X--R         <- origin/some-branch (can be fast-forwarded to Y commit)

       \        

        T--Y    <- some-branch

執(zhí)行g(shù)it rebase提交時(shí),D和E將應(yīng)用于新基礎(chǔ),并創(chuàng)建新的提交。這意味著在rebase之后你會(huì)有類(lèi)似的東西:


A--B--C------F--G--D'--E'   <- feature-branch

       \  

        D--E                <- origin/feature-branch

在那種情況下,遠(yuǎn)程分支無(wú)法快速轉(zhuǎn)發(fā)到本地。雖然,理論上本地分支可以合并到遠(yuǎn)程(顯然你在這種情況下你不需要它),但是git push只執(zhí)行快進(jìn)合并它會(huì)引發(fā)錯(cuò)誤。


什么--force選項(xiàng)只是忽略遠(yuǎn)程分支的狀態(tài)并將其設(shè)置為您正在推送它的提交。所以git push --force origin feature-branch簡(jiǎn)單地origin/feature-branch用本地覆蓋feature-branch。


在我看來(lái),master只要您是唯一一個(gè)在該分支上工作的人,就可以將功能分支和強(qiáng)制推送回遠(yuǎn)程存儲(chǔ)庫(kù)。


查看完整回答
反對(duì) 回復(fù) 2019-09-06
  • 3 回答
  • 0 關(guān)注
  • 1273 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)