1. 程式人生 > >記錄一次Git解決CONFLICT衝突

記錄一次Git解決CONFLICT衝突

目錄

  • 記錄一次Git解決CONFLICT衝突
  • 1.CONFLICT產生的原因
  • 2.Git正確的兩種使用流程
    • 2.1 暫存,拉取,恢復暫存,合併(如果有衝突),提交,推送
    • 2.2 將本地分支先提交遠端分支,再從需要更新的分支pull,此時會自動合併,不能合併的會產生Conflict,如下:
      • 2.2.1列舉遠端倉庫的檔案數量
      • 2.2.2再次計算遠端倉庫檔案數量?
      • 2.2.3壓縮成79個檔案
      • 2.2.4總共87個檔案,47個有差異
      • 2.2.5在本地解壓縮87個檔案
      • 2.2.6從遠端倉庫的master分支fetch拉取下來到本地倉庫
      • 2.2.7如下路徑的檔案表示合併成功
      • 2.2.8自動合併失敗,需要修正衝突再提交結果。
      • 2.2.9如下路徑檔案需要修正衝突
  • 3 衝突解決
    • 3.1 衝突檔案的位置
    • 3.2 area.vue檔案的衝突解決
    • 3.3 index.js檔案的衝突解決
  • 4 提交推送

記錄一次Git解決CONFLICT衝突

1.CONFLICT產生的原因

在這個情況下,分支1的版本C跟分支2的版本B的上一個版本是不一樣的,所以這裡需要將版本C與版本B進行自動合併,並解決衝突,然後再講合併之後的版本C提交的master。

2.Git正確的兩種使用流程

這裡我為了保證資料不丟失,每次都會將每個分支的完成情況更新到遠端倉庫,再做pull合併,所以選擇2.2方式

2.1 暫存,拉取,恢復暫存,合併(如果有衝突),提交,推送

git stash :暫存原生代碼
git pull origin develop : 獲取遠端分支程式碼
git stash pop:恢復之前暫存的檔案

2.2 將本地分支先提交遠端分支,再從需要更新的分支pull,此時會自動合併,不能合併的會產生Conflict,如下:

這裡試圖對提示語句進行解釋,但是搜尋一個小時,發現網上解釋很少,如果有大俠路過,煩請幫忙糾偏,謝過。

2.2.1列舉遠端倉庫的檔案數量

remote: Enumerating objects: 187, done.

2.2.2再次計算遠端倉庫檔案數量?

這裡不明白Enumerating跟Counting的區別,網上有的Enumerating跟Counting數量是相等的,是以Counting為主。
remote: Counting objects: 100% (160/160), done.

2.2.3壓縮成79個檔案

remote: Compressing objects: 100% (79/79), done.

2.2.4總共87個檔案,47個有差異

remote: Total 87 (delta 47), reused 0 (delta 0)

2.2.5在本地解壓縮87個檔案

Unpacking objects: 100% (87/87), done.

2.2.6從遠端倉庫的master分支fetch拉取下來到本地倉庫

-> FETCH_HEAD,-> origin/master是對master的解釋。將當前dev_lirj分支的e3514bc..0169ed4版本與master(origin/master)的最新版本進行合併。

From https://git.dev.tencent.com/JerryMouseLi/VueOMP
 * branch            master     -> FETCH_HEAD
   e3514bc..0169ed4  master     -> origin/master

2.2.7如下路徑的檔案表示合併成功

Auto-merging src/views/home/admin/components/MapCard.vue
Auto-merging src/views/equipview/box.vue
Auto-merging src/views/equipmanage/area.vue
Auto-merging src/api/index.js

2.2.8自動合併失敗,需要修正衝突再提交結果。

Automatic merge failed; fix conflicts and then commit the result.

2.2.9如下路徑檔案需要修正衝突

CONFLICT (content): Merge conflict in src/views/equipmanage/area.vue
CONFLICT (content): Merge conflict in src/api/index.js

3 衝突解決

3.1 衝突檔案的位置

在這裡我使用的VS code工具會將衝突檔案的路徑染成紫色,很人性化。

3.2 area.vue檔案的衝突解決

此處有4個選項:

選項 含義
Accept Current Change 接受當前分支1的修改
Accept Incoming Change 接受pull匯入主分支的修改
Accept Both Change 同時接受兩個分支的修改
Compare Changes 對比修改,主要用於手動修改

Compare Changes示意圖

這裡選擇Accept Current Change

3.3 index.js檔案的衝突解決

同上選擇Accept Incoming Change即可

4 提交推送

相關推薦

記錄Git解決CONFLICT衝突

目錄 記錄一次Git解決CONFLICT衝突 1.CONFLICT產生的原因 2.Git正確的兩種使用流程 2.1 暫存,拉取,恢復暫存,合併(如果有衝突),提交,推送 2.2 將本地分支先提

記錄git修改分支名稱的坑

記錄一次git修改分支名稱的坑 使用的命令是 git checkout -b new_branch git push origin new_branch:new_branch 但是提交後並且使用編譯工具部署後代碼錶現總是不對,死活找不到問題。 後來看到git上明白原來一

記錄失敗的向git提交程式碼,和解決的方法。(首次建立倉庫)

背景: 向git push程式碼(建立一個新的倉庫) 做法: 在github建立一個新的倉庫------>本地新建資料夾------->依次執行了下面的命令 git init git clone git checkout -b master

Git使用之——衝突解決git merge conflict

Git衝突是在多使用者協同工作下出現,在一些情況下Git可以智慧自動合併,但有時需要使用者手動合併。 一. Git智慧自動合併 1. 多成員修改不同檔案 這和之前所述的“非快進式推送”一致,按照其方式解決(http://blog.csdn.net/u012150179/

git衝突解決

這次git使用中,本地做了修改並提交了commit但沒有及時push,等到別人push後沒有進行檢查直接進行了push,git自動merge然後出現了衝突。這裡記錄一下解決過程。 當時push完後沒注意git提示,開啟本地檔案發現出現了衝突的提示,具體格式是: <

記錄concurrent mode failure問題排查過程以及解決思路

tails only cnblogs 策略 executor red execute incr run 背景:後臺定時任務腳本每天淩晨5點30會執行一個批量掃庫做業務的邏輯。 gc錯誤日誌: 2017-07-05T05:30:54.408+0800: 518534

記錄cacti中文亂碼解決經過

cacti中文支持 cacti中文亂碼 背景:公司一臺老機器,上面有個cacti。系統為centos5.X,有天手滑卸載了httpd,但yum源已經不支持centos5系列了,無奈百度上找了一個源內容如下:<span style="background-color: rgb(255, 102,

記錄apache服務器啟動報錯和解決方法

受限 png www img oot 端口 使用 rwx 環境 問題描述:在liunx系統上安裝軟件時需要較大的權限,一般用戶是不能隨便安裝的。為了省事,在安裝lamp環境時,整個過程都是以root身份安裝各種軟件的。最後整個環境是安裝成功,但是像apache這樣的服務器如

記錄: 解決整型溢出攻擊(使用scala,隱式轉換)

multi run 沒有 出了 range println multiple valid ont 最近項目遇到一次整型溢出攻擊 有一個功能,玩家購買num個物品. 每個物品花費14貨幣. 客戶端限制玩家只能購買 1-9999個該物品. 但是某玩家通過技術手段,獲得了客戶端的

記錄使用terminal進行git管理與提交到Github的過程

忽略文件 pack com res ota pac sed clone fatal 1、環境的構建: 使用Mac系統自帶的Git進行版本管理存在,Git是系統的Xcode集成的 查看版本的命令: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px;

記錄解決httpcline請求https報handshake_failure錯誤

HttpClient如何指定Ciphe handshake_failure SSL_ERROR_WEAK_SER httpclinet發起https請求 概述 當使用httpclinet發起https請求時報如下錯誤: javax.net.ssl.SSLHandshakeException:

記錄服務器“卡死”故障的解決過程

virtio 服務器卡死 僵死進程 blocked for more 晚上8點多突然收到zabbix報警,服務器負載高,IO負載高。看到報警信息馬上就猜到,老問題又出現了上次的方法沒能解決問題,故障回顧 故障背景:系統:ubuntu 14.04 服務器:kvm虛擬機 故障現象:1.系統存在大量

記錄Mysql主從不同步事故問題於事故解決辦法

count cover counter img 一次 png 過去 stop set 首先在昨天的時候我可能在優化zabbix庫的時候動了庫中的events表。導致了接下來的問題。經過查看未解決前問題呈現如下:我們可以看到從庫與主庫不同步的原因是這個:這個問題的學名叫:外鍵

spark2.2.0:記錄資料傾斜的解決(擴容join)!

前言: 資料傾斜,一個在大資料處理中很常見的名詞,經由前人總結,現已有不少資料傾斜的解決方案(而且會發現大資料的不同框架的資料傾斜解決思想是一致的,只是實現方法不同),本文重點記錄這次遇到spark處理資料中的傾斜問題。 老話: 菜雞一隻,本人會對文中的結論負責,如果有說錯的,還請各位批評指出

記錄使用eclipse實現git合併分支操作

首先,分支情況如下: 分支A提交所有程式碼後,建立一個分支B,又切換回分支A,對分支A進行修改。最後將分支A合併到分支B。 然後,希望的合併結果如下: 將分支A合併到分支B。其中有部分刪除檔案不用修改和刪除。 實際操作步驟: 1.分支A程式碼建立3個檔案:testA

記錄解決Fragment問題之旅

做為一隻小小菜鳥,這些日子在學習新技術思想的同時,自己寫了一篇仿今日頭條APP,想法是簡單的,實現卻是有些困難,先說說程式中遇到的問題     程式碼邏輯如圖:在MainActivity通過FragmentTabHost對以上4個

記錄因伺服器關機造成的Git服務異常

  環境:Ubuntu 16.04 、Git 2.7.4 事情原因:之前公司使用的是SVN版本控制器,後來,因為分支的需求,所以搭建了Git; 今天早上因為Git伺服器上tomcat服務出現異常,需要手動重啟伺服器;所以,同事手動重啟了伺服器;但是恰巧剛好另一個同事,正在pus

記錄Session偶爾獲取不到的解決過程

導讀 平臺下某子系統有密碼登入需求,初步考慮用Session,登入後設置Session[key]=value;Session中若某key對應的Session,即Session[key]為null則限制操作。對應所用技術點:Asp.Net MVC & Razor 檢視引擎,技術點較簡單,雖然走了一些彎路

記錄java.lang.ClassCastException的java型別轉換異常解決方案

自己的專案中,有個定時任務的模組,裡面需要將返回的物件強轉為某個實體類JobModel,可是在轉換的過程中,卻報出了java.lang.ClassCastException: com.jy.admin.server.mo

記錄解決shiro+cas的整合問題【重複重定向】

首先簡介一下工作中的情況: 公司之前的兩個專案,許可權和認證是用shir做的。現在需要將這兩個專案作為客戶端,做單點登陸(sso)。 這個重複重定向的問題真是由於自己不熟悉shiro造成的,網上的解決方案大概我都看過了,都試過了,然而。。。 工作準備: 1.之前沒有做過單點