Eclipse中Egit衝突解決
Eclipse中Egit衝突解決
Git 作為進來最流行的分散式版本控制軟體來說應用的十分廣泛。EGit就是一款Eclipse上的Git外掛。在使用Egit提交專案時,有時會產生衝突,需要對程式碼進行merge。這裡對內容衝突的解決進行介紹。
內容衝突是指兩個使用者修改了同一個檔案的同一塊區域,git會報告內容衝突。
1. 產生內容衝突
我們原始檔案內容如下所示:
有兩個專案組同時對其進行修改:
1) GordonCoder將第三行中“System.out.println();”修改為“System.out.println(“Hello, GordonCoder”);”
2)Jiangpeizhao將第三行中“System.out.println();”修改為“System.out.println(“Hello, Jiangpeizhao”);”,
GordonCoder修改完檔案後commit 並push,之後Jiangpeizhao進行修改並準備提交。
2. 提交修改
在專案上右擊選擇Team-Commit,在彈出對話方塊中填寫“Commit message”並勾選需要提交的檔案,點選“Commit and Push”。如果沒有發生衝突,則提交正常;如果有衝突,則會填出下面的對話方塊“master:master[rejected – non-fast-foward]”:
此時在專案上右擊選擇Team-Synchronize Workspace
此時Eclipse介面如下,會跳到Team檢視:
專案資料夾右側有“↑1”和“↓1”,說明有一個未push的修改和一個未pull的修改。開啟下面的History視窗,可以看到最上面的兩條修改,一個由Jiangpeizhao提交,一個由Gordon提交。
此時產生衝突。
3. 解決衝突
首先,將修改從遠端pull到本地,點選下圖的小按鈕:
點選後如下圖所示:
其中”<<<<<<< HEAD”、”=======”、“>>>>>>> branch 'master' ofhttps://git.oschina.net/Jpz/SpringDemo2.git”直接的就是雙方的修改。
右擊專案,選擇”merge tool”:
如果”merge tool”是灰色的,如下圖所示:
那麼可能是由於沒有在本地進行Commit或者沒有進行pull。
點選”merge tool”後彈出:
注意現在檔案圖示下的紅箭頭,這是衝突的標誌。如果沒有彈出這個對話方塊,那是因為Git設定的問題。選擇Window-preference:
在彈出對話方塊中找到Team-Git,將Merge tool context設定為第一個選項”Prompt when starting tool”,點選OK:
在下面填出的對話方塊中
選擇第二個選項,之後如下所示:
手動來解決衝突,在本例中將這一行改為“System.out.println(“Hello, everyone”);”修改完後保持(ctrl+s,呵呵)。
右擊專案,選擇”Add to git index”:
注意此時圖示的變化。
4. 合併merge
右擊專案,選擇”Commit…”提交至本地,此時的提交便是合併:
彈出視窗如下:
點選“Commit”。如果是隻有一個衝突,此時也可以直接點選“Commit and Push”
點選“Commit”後如下所示,注意箭頭數:
此時解決一個衝突,如果衝突多,需要繼續處理,就繼續按以上步驟來。解決完後,點選”Push”:
最後如下所示:
點OK即可。
5. 檢視history:
在java界檢視,右擊專案選擇“team-show in history”,如下所示:
可以檢視history:
關於Egit的其他操作課參考:
http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html
相關文章
- Git 解決衝突Git
- git 解決衝突Git
- 解決eclipse中egit中的cannot open git-upload-pack問題EclipseGit
- 程式衝突及其解決
- git pull 衝突解決Git
- windows解決埠衝突Windows
- IP衝突解決方案
- SVN 版本衝突解決
- hash衝突解決方法
- Git衝突解決技巧Git
- PPT中聲音“衝突”的解決方法
- css命名衝突解決方法CSS
- SVN解決衝突 記錄
- 流衝突解決方案——流
- Maven中解決依賴衝突的問題Maven
- git pull衝突的解決方案Git
- JAR衝突問題的解決JAR
- git 解決版本衝突問題Git
- 關於hash衝突的解決
- Git命令列下解決衝突Git命令列
- Eclipse 中快捷鍵 ctrl+alt+上箭頭 衝突Eclipse
- svn檔案衝突,樹衝突詳解
- flutter dialog中軟鍵盤遮擋解決衝突Flutter
- less中解決CSS3的calc衝突問題CSSS3
- use GIT with eclipse plugin egitGitEclipsePlugin
- Git 衝突了怎麼辦,如何高效快速的解決程式碼衝突?Git
- maven依賴衝突以及解決方法Maven
- 依賴衝突時的解決方法
- GO 問題之多版本衝突解決Go
- Elasticsearch——併發衝突以及解決方案Elasticsearch
- Git 解決本地遠端版本衝突Git
- Jar包衝突解決方案調研JAR
- Maven依賴衝突解決總結Maven
- 解決jquery和其他庫的衝突jQuery
- 電腦熱鍵衝突巧解決
- SVN衝突解決和注意事項
- maven解決jar包依賴衝突MavenJAR
- UITapGestureRecognizer與didSelectRowAtIndexPath衝突解決UIIndex