Git cherry-pick后再merge出現一個“奇怪”的現象

背景描述:有的時候基于一個master branch拉出一個獨立feature分支做開發時,兩條分支都在并行開發,如果master分支增加了某些功能,解決了某些關鍵bug,而獨立feature分支不需要所有的增加的commit,只需要某一筆的修復,此時首先想到的就是單獨cherry-pick該筆commit,然而后續如果再次將該feature merge回master,“奇怪”的現象發生了….

舉例說明:

git倉庫以ngnix代碼為例,不知道什么時候clone的代碼,分支還在unstable branch上。。。

  • 以unstable分支為基礎checkout一個test1分支。
  • 在unstable分支上提交一筆commit bb3200604fcd3cefe26fb23bd6747f5563f514ac
  • 在test1 branch上cherry-pick該筆commit,commit id為9b97d6038a14e348f50a7b44f2a0a29af54aa820
  • 回到unstable分支,merge test1 branch,出現下面的現象:

    unstable分支merge test1 branch后的graph線路圖

為什么感到”奇怪“

  • 起初我的想法時merge合并后,不會出現merge commit,也只會存在同樣的一筆commit,這樣看起來會很清爽,而如果出現兩筆一模一樣的commit,看起來會很疑惑。雖然代碼沒有任何問題,而且如果在提交多筆commit后再merge,大部分人都不會主要到這個現象,所以應該很少人主要到這個“問題”。
  • 由于個人多少對代碼有點潔癖,當發現這個現象時蠻奇怪的,為什么git不能智能記錄兩個branch cherry-pick的過程,在merge時只保留一個(最好是master branch上的)commit?(這點是完全可以做到的啊),不過事實就是目前的狀態了。

為什么會這樣?

  • cherry-pick在Git中的處理應該只是將一個commit的修改重新add, commit,push到另一個branch上,并沒有記錄之間的關聯。
  • 當merge時,認為另外一個branch只是做了完全相同的修改,并沒有沖突,所以完整的保留兩個branch上的commit。

后續如何處理

  • 雖然以上的解釋很充分,原理上完全沒有問題,不過對于這樣的兩筆一模一樣的commit,感官上還是不爽的,所以我決定盡量不在需要merge回去的branch上cherry-pick父branch上的commit了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450104.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450104.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450104.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

inux系統中如何進入退出vim編輯器

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 VIM編輯器,可以新建文件也可以修改文件,命令為:vim AAA 。AAA就是文件名。 如果這個文件&#xff…

C++ 智能指針六

/* 智能指針unique_ptr */#include <iostream> #include <string> #include <memory> #include <vector>/*unique_ptr 獨占所指向的對象, 同一時刻只能有一個 unique_ptr 指向給定對象(通過禁止拷貝語義, 只有移動語義來實現), 定義于 memory (非memo…

如何掘到第一桶金

第一種類型&#xff1a;才智高遠型 典型代表&#xff1a;《福布斯》中國富豪榜排名第一位、個人資產總計達到83億元的中國希望集團劉氏兄弟。 與一般的創業者不同&#xff0c;劉氏四兄弟劉永言、劉永行、劉永美、劉永好一開始就悟透了“舍得”二字。他們本來都在國家企事業單…

Sublime Text3中文環境設置

Sublime Text3中文環境設置 1、首先打開安裝好的的Sublime軟件,選擇Preferences下面的Package Contorol選項出現彈窗方框 2、在彈窗輸入install package,選擇對應&#xff08;默認第一個&#xff0c;如圖這個&#xff09;命令點擊進入;安裝的時候&#xff0c;左下角會有進度條顯…

C/C++圖形化編程(2)

歸納編程學習的感悟&#xff0c; 記錄奮斗路上的點滴&#xff0c; 希望能幫到一樣刻苦的你&#xff01; 如有不足歡迎指正&#xff01; 共同學習交流&#xff01; &#x1f30e;歡迎各位→點贊 &#x1f44d; 收藏? 留言?&#x1f4dd; 站在巨人的肩上是為了超過巨人&#x…

Git clone之后你的硬盤上究竟發生了什么?

網上關于Git的使用有太多的博客&#xff0c;文章在講解了&#xff0c;大部分是在講解命令的用法&#xff0c;剩下一部分則在講解git的內部原理&#xff0c;看過講解基礎命令使用的文章后&#xff0c;正常的開發使用是沒有什么問題的了&#xff0c;而如果想更深入的了解git“高級…

Shell 語法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 運行sh腳本的2種方法&#xff1a; ./AAA。sh 或者 sh AAA.sh 。&#xff08;其實后輟名不重要。是txt也是可以運行的。&#xff09;…

感知機模型的對偶形式[轉載]

轉自:https://blog.csdn.net/jaster_wisdom/article/details/78240949#commentBox 1.區分一下易混淆的兩個概念&#xff0c;梯度下降和隨機梯度下降&#xff1a; 梯度下降&#xff1a;一次將誤分類集合中所有誤分類點的梯度下降&#xff1b; 隨機梯度下降&#xff1a;隨機選取一…

Android Studio常用快捷鍵

注&#xff1a;本文大部分內容轉載自——碼個蛋微信公眾號里的“熟練這些&#xff0c;才會知道 Android studio 有多高效”由于是微信公眾號通過傳送門看的&#xff0c;沒有原文鏈接。 顯示方法的參數 當我們使用一個方法的時候&#xff0c;會在剛開始的時候顯示出所有的參數。…

中國城市政治地位,政治地位決定一切!!!

第一政治等級&#xff1a;省級城市&#xff08;包括直轄市、特別行政區&#xff09;6個 北京市、上海市、天津市、重慶市、香港特別行政區、澳門特別行政區 第二政治等級&#xff1a;副省級城市&#xff08;含五個計劃單列市&#xff09; 15個 沈陽市、大連市&…

Shell 字符串截取

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Linux 的字符串截取很有用。有八種方法。 假設有變量 varhttp://www.aaa.com/123.htm 1. # 號截取&#xff0c;刪除左邊字符&#xff0c;…

go語言漸入佳境[6]-operator運算符

運算符和其他語言一樣&#xff0c;Go語言支持多種運算符&#xff0c;用于對變量進行運算。12345678910111213package mainimport "fmt"func main(){ //math() //relation() //logic() //wei() Assign()}算術運算符123456789101112func math(){ a : 4 b:2 fmt.Printf(…

Android應用開發—setResult()的調用時機

本文轉載自setResult()的調用時機&#xff0c;此處做了重新的排版&#xff0c;只是感覺markdown的排版比較好看些&#xff0c;侵刪。 今天遇到這樣一個問題&#xff0c;我在Activity-A中用startActivityForResult()方法啟動了Activity-B&#xff0c;并且在B中通過setResult()方…

記錄騰訊云中礦機病毒處理過程(重裝系統了fu*k)

2019-1-21日常上班的周一 剛想學學kafka&#xff0c;登錄與服務器看看把&#xff0c;誰知ssh特別慢&#xff0c;很奇怪&#xff0c;我以為是我網速問題&#xff0c;斷了wifi&#xff0c;換了網線&#xff0c;通過iterm想要ssh rootx.x.x.x&#xff0c;但是上不去&#xff1f; 就…

從創業失敗中學到的七條教訓

摘要&#xff1a;每個創業者不可能首次創業就能成功。他們的失敗經驗&#xff0c;或許可以指導其他創業者獲得迅速成功。Joshua Hays在文章《7 things I learned from failing that you can avoid》總結了創業失敗后獲得的七條教訓&#xff0c;希望其他創業者可以從中有所收獲&…

unexpected EOF while looking for matching ``‘

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 只是簡單的測試一個shell 腳本&#xff0c;報錯如題。 原因&#xff1a; 雙引號格式不對。 引號切換為英語格式重新輸入&#xff0c;再運…

對象反序列化出現類型不匹配的情況(spring-boot-devtools)

目前在做springboot項目的shiro session redis共享功能。但是有一個對象我把它放到redis中之后再取出來就會出現類型不匹配的異常 AuthorizationUser user (AuthorizationUser) cache.getSuper(key); 異常信息&#xff1a; java.lang.ClassCastException: com.ch.evaluation.a…

最后一周總結

1&#xff09; 回歸第一周目標 對于第一周的目標&#xff0c;在提高代碼量&#xff0c;多寫多練方面達到了&#xff0c;之前結點編程時還不是很熟悉python&#xff0c;現在寫的比較熟練了&#xff0c;同時學習了一門新的語言Julia&#xff0c;在學習的過程中也看了Julia和Flux的…

音視頻多媒體協議相關資料匯總

未知問題&#xff1a; 編碼&#xff0c;封裝&#xff0c;協議的區別&#xff1a; 如何將TS源流重新封裝并通過P2P協議傳輸在安卓終端和蘋果終端播放封裝 介紹完了視頻編碼后&#xff0c;再來介紹一些封裝。沿用前面的比喻&#xff0c;封裝可以理解為采用哪種貨車去運輸&…

谷歌地圖VS蘋果地圖:大數據領域競爭

摘要&#xff1a;iOS 6推出之后&#xff0c;爭議最大的是什么&#xff1f;蘋果地圖。蘋果地圖成為人們抨擊iOS 6的首選&#xff0c;而蘋果放棄谷歌地圖選擇自力更生是迫不得已。蘋果和谷歌之間的競爭領域可以用三個字來概括&#xff1a;大數據。谷歌擁有大數據&#xff0c;而蘋…