使用git處理github中提交有沖突的pull request


前言:

  為什么要寫這篇文章,因為前段時間有一個開源的github中的項目有一個朋友提交了一個pr看了下是幫忙優化了下代碼(十分感謝這位網友)。但是他提交的pr剛好和我的項目有許多的沖突導致無法自動合並,在github中提示只能使用命令行指令進行合並,因為這種情況處理的比較少為了以后方便使用在這里記錄一下。

github中的大概命令合並指令

1、首先我們需要下載一個git分布式管理工具

下載Git鏈接地址:https://git-scm.com/

2、然后我們需要clone下我們的項目

git clone sgit@github.com:YSGStudyHards/NPOI-ExportWordAndExcel-ImportExcelData.git(ssh項目鏈接)

3、創建並切換到該分支,並同步到master中

git checkout -b 創建的分支名 master

使用git branch查看當前所屬分支

 4、拉取有沖突的pr到該分支中

git pull https//github.com/某人的/某項目的.git master  

github中的命令語句

git pull git://github.com/hongbobaoer/NPOI-ExportWordAndExcel-ImportExcelData.git 20201109

5、直接打開沖突文件手動解決沖突

當項目拉取下來以后,我們就需要解決有沖突的文件信息了  

由下面的沖突文件中的沖突內容我們了解到:
<<<<<<< HEAD
6月19日 pingrixuexilianxi添加了內容
=======
6月18日 pingrixuexilianxi2修改了這個文件哦
>>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5
<<<<<<< HEAD到 =======里面的【6月19日 pingrixuexilianxi添加了內容】是自己剛才的Commit提交的內容
=======到 >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5里面的【6月18日 pingrixuexilianxi2修改了這個文件哦】是遠程代碼庫更新的內容(即為pingrixuexilianxi2本地代碼庫推送修改內容)。

手動沖突解決方法

根據項目需求刪除不需要的代碼就行了,假如都需要的話我們只需要把 <<<<<<< HEAD=======     >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5都刪掉沖突就解決了(注意,在項目中最后這些符號都不能存在,否則可能會報異常)。

或者可以使用git可視化管理工具(推薦)

原因:由於有些人使用代碼合並比較生疏,為了避免出錯推薦使用sourcetree進行解決沖突合並。

詳細使用sourcetree地址參考:https://www.cnblogs.com/Can-daydayup/p/13128633.html

6、合並更改並在GitHub上更新

注意:這里是沒有使用可視化工具合並的時候才需要自己使用代碼去執行合並,提交,更新操作!

git commit -a //把修改提交到新建的分支上,會提示你成功merge本地代碼到這個人的代碼庫

git checkout master //切換到自己的主分支上

git merge 創建的分支名 //將新建的分支合並到自己的分支上

git push origin master //將代碼推送的遠程倉庫中

 


免責聲明!

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



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