git 解決二進位制檔案衝突

2022-02-08 03:08:39 字數 709 閱讀 3965

當我們向遠端git伺服器提交某乙個檔案的修改時,恰巧這個檔案相同的修改地方其他人也有修改,並且已經提交到伺服器,這時衝突就產生了. 通常,當我們合併兩個相同的地方都有修改的分支時,都會產生衝突.

出現衝突時git不知道如何自動合併,需要我們解決衝突手動合併. 如果是文字檔案,git會在有衝突的地方作上標記(如 head >>> ==== <<< hash_id等),標記哪些是當前分支的修改,哪些是其他分支的修改.參考這些標記,解決衝突比較簡單.

如果二進位制檔案發生衝突,不方便檢視git插入的衝突標記, 解決比較棘手,通常最簡單的解決方法是提前溝通好,相同修改的地方二選一. 

git checkout file --ours [ --theirs ]

–ours 表示檢出當前分支,即儲存當前分支的改動,丟棄另外分支的改動. 

–theirs 表示檢出另外分支, 即儲存另外分支的改動,丟棄當前分支的改動.

舉個栗子: 

有分支a和b, 當前我們在分支a上, 需要把分支b合併到分支a, hashmap.c檔案發生衝突了. 

git checkout hashmap.c –ours 表示衝突的地方採用a分支上的修改,丟棄b分支上的修改. 

git checkout hashmap.c –theirs 表示衝突的地方採用b分支上的修改,丟棄a分支上的修改.

解決完衝突後,就可以像往常一樣 git add git commit了.

解決二進位制檔案衝突

比如psd jpg excel word等 一 只能選擇自己或對方的檔案 來自 對於二進位制檔案的衝突,你肯定不想通過編輯二進位制檔案來解決衝突,那是不可能完成的事情。你要做的就是 要麼選擇對方的修改,要麼選擇自己的修改。你可以用git checkout的 theirs或 ours選項。git pu...

二進位制檔案

本質上是文字檔案是把檔案資訊先轉化成以字元編碼的ascii碼,再儲存ascii的二進位制 而二進位制檔案是直接把檔案資訊編碼成二進位制儲存。因此在讀取的時候要考慮記憶體中二進位制 應該怎麼樣解釋。二進位制檔案的讀取是是要告訴元素的型別 編碼方式 文字檔案則預設為char型別。文字檔案是一種特殊的二進...

二進位制檔案

二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...