eclipse解決git本地與遠程倉庫沖突


初次接觸到git,其他的操作都還好就是在解決沖突的時候,遇到了一些問題,網上找了好多,都感覺不是很明確。經過多次實驗,終於搞明白了解決沖突的步驟,特此記錄一下。

1.首先我新建了一個空文本文件,然后push到遠程倉庫。這個時候遠程倉庫和本地倉庫是同步的

2.我分別在本地和瀏覽器上對這個文本文件進行寫操作

3.這個時候,test.txt在本地倉庫和遠程倉庫是不同的,我們先commit本地修改到本地倉庫

然后從遠處倉庫中pull項目 

這個時候會發現項目的名字上多了一些向上向下的箭頭,向下表示本地與遠程倉庫有不同,向上表示本地提交的次數

而且如果有的文件發生了沖突,git會自動幫我們合並,但他合並的方式並不是我們想要的

4.現在我們需要打開同步視圖去解決我們的沖突

這里顯示的是沖突的文件

點擊Merge Tool我們就可以分屏看到本地和遠程文件的具體修改

5.接下來我們就要參考兩個文件來修改test.txt的內容了,以解決沖突,我這里將他們和並在一起,然后保存

6.接下來再提交我們的修改到本地倉庫,先add to index,然后commit

這個時候的commit信息會自動為我們填寫,就是合並的信息

我們commit后,這時候項目上的箭頭也發生了變化

7.這個時候我們就可以將本地項目push到遠程倉庫了

push后我們項目上的箭頭也消失了,這樣沖突就解決了

 

 

git方法解決沖突:

模似場景:

             在本地git里面增加一個文件readme.txt,編輯內容(內容隨便寫如:中國你好,哈哈),使用命令push到github.

         假如你本地 branch 為 master (可以通過 git branch -av查看本地和遠程branch名字),遠程branch 就是創建repository的名字如:(androidFragment)

                      1. git   add   readme.txt(把文件添加到git cache)

                 2. git commit (提交)

                 3. git   push  androidFragment   master(這句命令格式為 git  push 遠程分支名字 本地分支名字)

      現在可以看到在github上面看到有一個readme.txt文件。現在開始在本地編輯文件readme.txt(內容隨便寫如:這是一個readme.txt文件,用於描述項目內容);

      同時,在github網站上面也編輯readme.txt,內容改下就好(如:中國你好,哈哈,hello).

   到此,場景已經模似出來了。

現在在執行上面的1,2,3 步驟,就會push不上去了。如圖:

說的意思是,push到github的遠程訪問被拒了,push失敗,因為遠程包含了你所做的工作(就是遠程也做過更新)。

        按照SVN,CVS的用法就從遠程更新本地的文件,操作:git pull  遠程 branch  本地branch ,查看本地文件沒遠程的內容,沒有成功;使用了git merge 遠程branch好像也沒成功(這步應該是不用試的,肯定不行)。

        就在 git pull 遠程branch名字 本地branch名字  時,提示有一個什么rebase命令,git pull --rebase 遠程branch名字  本地branch名字。如圖:

遠程更新文件內容到本地成功。

但是,有幾個問題又出現了 

   1.執行成上步后,文件內容出現<<<============      

                                                   ========>>>這樣的內容,那就只能手動修改文件了,在git bash 中使用vi readme.txt編輯。改好后,wq.此問比較小,修改內容等待git push。

   2.  使用了git pull --rebase 遠程branch名字  本地branch名字后,master 名字改了。如圖:

 看到這個不一樣,也沒太注意。可是當我git  push androidFragment   master 時,還是執行完1,2,3步后,那個還是拒絕。

 於是看一下,如圖:

也就釋然了(紅框包容內容)。執行了一下git rebase --continue提示如圖:

還是搞不定。於是我就執行了,git rebase --skip ,執行后,沒有提示內容,但是(master|rebase1/1)沒有了。

如圖:

說明可以git push了,然后我就執行1,2,3步驟,提示成功。

再去github網頁上面刷新,看到文件已經提交,內容是本地的內容,問題解決


免責聲明!

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



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