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

初次接觸到git,其餘的操做都還好就是在解決衝突的時候,遇到了一些問題,網上找了好多,都感受不是很明確。通過屢次實驗,終於搞明白瞭解決衝突的步驟,特此記錄一下。android

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

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

3.這個時候,test.txt在本地倉庫和遠程倉庫是不一樣的,咱們先commit本地修改到本地倉庫瀏覽器

而後從遠處倉庫中pull項目 bash

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

並且若是有的文件發生了衝突,git會自動幫咱們合併,但他合併的方式並非咱們想要的3d

4.如今咱們須要打開同步視圖去解決咱們的衝突blog

這裏顯示的是衝突的文件ip

點擊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網頁上面刷新,看到文件已經提交,內容是本地的內容,問題解決

相關文章
相關標籤/搜索