2012-04-04 72 views
9

我試圖合理化兩個似乎相關的透視圖(或至少提供了非常類似的功能):'Git Repository'透視圖EGit)和「團隊同步」角度(我認爲這是EE分銷的一部分)。我可以告訴我,我能夠得到Git Repository工作(與GitHub),或至少大部分功能:'Git Staging'窗口工作正常,我能夠通過將文件從「未分級更改」拖動到「分級更改」,然後單擊「提交」圖標進行提交。然後,我可以通過右鍵單擊工作空間 - > Remotes-> origin-> url,並從菜單中選擇Push(是否爲'正確'過程?),從'Git Repositories'窗口推送我的更改。Eclipse'Git Repository'透視與'Team Synchronizing'

隨着'團隊同步'的觀點,我甚至沒有運氣來設置它。一旦選擇'同步...'frmo菜單,Git,然後我看到一張表(它是什麼?)。我嘗試着爲目標設定不同的值(否則,無法點擊完成按鈕),但無論我做什麼,它都會告訴我「我的項目沒有任何更改」。

右鍵單擊項目並選擇「團隊」時,也有許多上下文菜單項。這些是什麼?

回答

4

在CVS中,Team Synchronize是管理傳入和傳出更改的唯一理智方式。您可以更新/合併傳入的更改並提交來自此視圖的傳出更改。由於每個提交都是離散的並且是非原子的,因此該工作流程視圖很好。

但在EGit中,您已經有添加,提交,推送,拉取和合並的明確操作。所以團隊同步主要在正常工作流程之外。它的行爲非常類似於從補丁中獲得的榮耀同步 - 您選擇希望比較工作目錄的哪個分支,並向您顯示差異。然後,您可以集中或單獨應用這些更改,但不會獲取上下文,即不會創建合併點或不合適的內容。

所以你應該訓練自己不要使用,除非有特殊原因。例如,您可能有兩個分支A & B.有人對B進行了更改,而您只需要其中的一小部分,因此您可以使用Team Sync顯示差異並僅應用您需要的差異。或者也許你只想壓縮分支B上的所有更改並在A中將它們稱爲單一提交。然後,您可以使用Team Sync,而不是在無論如何拋棄B或其遠程分支。

3

根據我的理解,「Git存儲庫」透視圖旨在將文件從工作目錄提交到本地Git存儲庫,而「團隊同步」透視圖用於將本地存儲庫與遠程存儲庫同步。

我在第一次發現這個問題時感到困惑,因爲在使用SVN時,「團隊同步」透視圖用於提交/更新文件。直到我注意到在EGit的團隊同步透視圖中,沒有顯示提交/更新按鈕,它具有拉/推按鈕,用於同步兩個Git存儲庫。

對於出現在「團隊」上下文菜單下的各種選項,它們對應於一堆Git操作。在使用EGit之前,我建議讀一下關於Git的操作原理。 http://git-scm.com/doc將是一個好的開始。