git手動解決內容沖突


  1. <span style="font-size:18px;">git checkout -b lab4 origin/lab4  
  2. git merge lab3</span>  


執行上面2條命令是創建一個新的本地分支lab4,並且將分支origin/lab4的內容放到新分支lab4中,最后將本地lab3分支的內容合並到新創建的本地lab4分支中。

合並過程中若出現沖突,比如:

  1. <span style="font-size:18px;">Auto-merging lib/syscall.c  
  2. Auto-merging lib/printfmt.c  
  3. Auto-merging kern/trapentry.S  
  4. Auto-merging kern/trap.c  
  5. CONFLICT (content): Merge conflict in kern/trap.c  
  6. Auto-merging kern/syscall.c  
  7. Auto-merging kern/pmap.c  
  8. CONFLICT (content): Merge conflict in kern/pmap.c  
  9. Auto-merging kern/init.c  
  10. CONFLICT (content): Merge conflict in kern/init.c  
  11. Auto-merging kern/env.c  
  12. CONFLICT (content): Merge conflict in kern/env.c  
  13. Auto-merging kern/console.c  
  14. CONFLICT (content): Merge conflict in kern/console.c  
  15. Automatic merge failed; fix conflicts and then commit the result.  
  16. </span>  


我們需要消除沖突,手動消除沖突的方法:

1. 打開編輯沖突的文件,kern/trap.c,對於形如這樣的沖突結構進行處理:

  1. <span style="font-size:18px;">hello  
  2. <<<<<<< HEAD  
  3. world  
  4. =======  
  5. hadoop  
  6. >>>>>>> lab3  
  7. next</span>  


介於 <<<<<<<(七個‘<’) HEAD  和 ======= 的內容是lab4中原有的內容:world

介於 ======= 和 >>>>>>> lab3 的內容是lab3中原有的內容:hadoop

這樣標記表示 將lab3中的內容整合進lab4中的過程中,上述標記的2塊內容會發生沖突,解決辦法就是我們手動編輯去掉沖突,即先編輯沖突,然后git commit提交。

注:對於git來講,編輯沖突跟平時的修改代碼沒什么差異。修改完成后,都是要把修改添加到緩存,然后commit。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM