91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

聊下git pull --rebase

發布時間:2020-07-05 15:30:05 來源:網絡 閱讀:1683 作者:王清培 欄目:開發技術

有一種場景是經常發生的。

大家都基于develop拉出分支進行并行開發,這里的分支可能是多到數十個。然后彼此在進行自己的邏輯編寫,時間可能需要幾天或者幾周。在這期間你可能需要時不時的需要pull下遠程develop分支上的同事的提交。這是個好的習慣,這樣下去就可以避免你在一個無用的代碼上進行長期的開發,回頭來看這些代碼不是新的代碼。甚至是會面臨很多沖突需要解決,而這個時候你可能還需要對沖突的部分代碼進行測試回歸,這就很麻煩了。

那么我們來看一下你在pull時候需要習慣性的加上—rebase參數,這樣可以避免很多問題。--rebase的本意是想讓事情的發展看起來很連續和優美,而不是多出很多無用的merge commit 。

你在有些時候pull代碼的時候會有這樣的一個提示:

聊下git pull --rebase

這個時候你是習慣性的,”esc :wq“,直接默認commit注釋。然后你的commit log就多了一筆很不好看的log。

聊下git pull --rebase

如果你不懂的在最后release的時候合并掉這些無意義的commit,最后你的release分支就會被你搞的很丑陋。(合并commit請參考:聊下git merge –squash)

這個問題的出現是正常的,我們來看下為什么會出現這個問題。正常情況下的分支commit路線:

聊下git pull --rebase

當前develop分支上有三個commit。現在我們兩個項目開始啟動,需要分別拉出兩個分支獨立開發。

聊下git pull --rebase

我們分別checkout –b 出來兩個分支,獨立開發互不干擾。正常情況下,如果這兩個分支的改動都沒有重貼或者沖突的時候,一切都很順利的。(重貼是指可以被系統自動合并的修改,而沖突是需要你手動解決的。你要重現這個現象還是有點小麻煩的,你要修改剛好可以重貼的位置,而不是直接導致沖突的地方)

我在develop_newfeature_authorcheck里修改了點東西,push到develop。然后checkout 到develop_newfeature_apiwrapper。

git pull

這將會把develop_newfeature_authorcheck分支的修改直接拉下來于本地代碼merge,且產生一個commit,也就是merge commit。

聊下git pull --rebase

你可以使用 git pull –rebase 這樣的結局就完全不一樣。—rebase 并不會產生一個commit提交,而是會將你的E commit附加到D commit的結尾處。在看commit log時,不會多出你所不知道的commit出來。其實此處的F commmit是無意義的,它只是一個merge commit。而且這里面的message里面的branch日后也不存了,這些分支都會被清除掉。

git pull –rebase 會使commit看起來很自然。

聊下git pull --rebase

因為代碼都有一個前后依賴,只是這個依賴在開發的時候誰先誰后的問題。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

胶州市| 柞水县| 乐安县| 赞皇县| 潼关县| 望都县| 乌拉特后旗| 沅江市| 内江市| 从江县| 岐山县| 库尔勒市| 定边县| 沅江市| 瑞金市| 鹰潭市| 横峰县| 桓仁| 汉中市| 华安县| 那曲县| 垦利县| 游戏| 威海市| 南平市| 双流县| 武乡县| 临高县| 遂昌县| 禄丰县| 福清市| 南平市| 太康县| 酉阳| 平顺县| 临邑县| 仁化县| 鄢陵县| 胶南市| 清徐县| 民乐县|