2008-11-20 67 views
10

我一直在徘徊,爲什麼在IDE中有版本控制支持是一件大事。爲什麼將版本控制插件與IDE捆綁在一起?

我總是傾向於使用命令行/獨立版本的選擇版本控制,並且從來沒有發現IDE集成有幫助。我知道它有時可能會有幫助,例如自動跟蹤重命名,但是我被幾次版本控制插件咬住了(特別是Clear Case Eclipse插件),我現在發現它反作用,相比之下commanline版本,我有更好的控制權。

您的意見是?

+0

我有可怕可怕的經歷(現在仍然如此)與Subclipse的Eclipse插件的可能性。讓我發誓要使用CVS,直到Eclipse本身包含SVN支持(它現在確實真的應該如此)。 – Uri 2008-11-20 18:28:44

回答

2

集成IDE與版本控制,特別是軟件更改管理,有助於將IDE與源代碼管理系統的理念結合在一起。

一個例子是臨時文件和二進制文件,它們不應該簽入並且例如,在Visual Studio中,如果您不仔細創建具有非默認目錄配置的新項目和解決方案模板,則會在源目錄中結束。

另一個可能是跟蹤工作項目和複雜的錯誤修復。

它還可以在編輯文件時節省一些儀式和上下文切換。

高級集成還可以將變更管理系統的「配置」(「分支」,「標記」,「視圖」)概念推送到IDE中。但是,ClearCase集成顯然不是「高級」的。

4

我喜歡一些這個IDE的實現。用於Visual Studio的Ankh-SVN不是那麼棒,而且有點buggy,但Subeclipse我發現在使用Eclipse時工作得非常好。

我認爲這取決於您使用的IDE和插件的質量。這對於一些設置會很好,對其他人來說也很糟糕。

這就是爲什麼我喜歡Subversion和Tortoise SVN這麼多東西。我可以選擇在何時何地使用IDE集成,否則,就像您所說的那樣,我可以簡單地使用命令行或在我的情況下,基於Windows資源管理器的客戶端!

2

很多它只是用戶的偏好和舒適水平。有些人對命令行感到滿意。有些更喜歡GUI。

我不會根據具體問題的特定插件的經驗做出一般假設,即IDE中的所有版本控制都不好或錯誤。

1

這取決於您的IDE以及您使用VCS的方式。

我和我的團隊在Delphi IDE中使用VSS插件,當它們一起工作時,它提供了很多靈活性功能,例如,當您開始寫信或移動它詢問的組件時,你想簽出代碼文件或表單。

當某人更改其他形式的任何代碼時,它會彈出並告訴您它已經被別人更新並要求您更新H.D.中的當前文件。

當您在IDE中時,您只需獲取所有內容,不需要移動到其他外部文件或命令提示符執行簡單任務。

我發現大多數人喜歡處理命令提示符,主要是在沒有GUI IDE的代碼中工作,或者我可能是錯的。

1

幾乎所有的顛覆需求都可以通過IDE接口來處理。做2次快速點擊要比彈出一個命令行,光盤到正確的位置,發出命令等快得多。

命令行有它的位置,但是對於當前的作物集合,這個地方繼續收縮。

5

集成源代碼管理還有助於僅保留源代碼管理下的重要文件。例如,當我在Visual Studio中添加一個新文件時,插件(visualSVN)將允許我輕鬆添加它,而不必記住去我的IDE之外並運行命令將其添加到存儲庫。另一方面,它會自動忽略臨時文件,如obj /和bin/Folders。從本質上講:集成版本控制實際上起作用是保持存儲庫清潔和完整的好方法。

1

我有使用IDE/VCS集成的錯誤實現的戰場疤痕。坦率地說,如果不是越野車,那就太好了。只要有像TortoiseSVN這樣的優秀工具,我就不需要IDE/VCS集成。我寧願有更多的工具來完成他們的工作,而不是一些錯誤的工具。

0

IDE中的版本控制支持通常會爲您提供更好的視圖。 IDE實際上知道您在執行差異時所查看的文件類型,這意味着它可以執行上下文突出顯示並幫助您更有效地進行合併。

我也認爲它可以節省設置時間。代替安裝各種工具,開發人員可以下載IDE,做一個結賬的方式。如果項目中的每個開發人員都使用相同的IDE,他們可以幫助彼此。

「反作用」是一個很大的詞。如果您每月可能會遇到嚴重的CVS/SVN問題,那麼在您的所有開發機器上安裝複雜的客戶端仍然很少。

2

爲什麼即使有IDE?爲什麼不直接用命令行來做所有事情? ;)

答案是,它與IDE集成是「更好的」。

我的#1理由: 您可以直觀地看到文件是否已簽出,如果需要編輯文件,可以直接在那裏執行操作。

還有更多,但那是最大的一個。

0

我有兩個系統,其中有一個集成的IDE(對所有Web內容都使用Visual Source Safe的IIS開發Web站點的Microsoft FrontPage),並且沒有(java命令行開發,Visual Studio Express Editions )。我使用的中間情況是jEdit 4.x,通過插件與VSS集成。

我認爲集成案例總是有價值的 - 您不必離開應用程序與源代碼控制功能進行交互,也不用擔心記住添加新文件和在編輯它們之前檢出文件。就我而言,實現順利工作流程和儘量減少疏漏風險的能力非常強大。即使IDE插件集成不夠完美(jEdit 4.x的情況下),我仍然更喜歡它沒有它。

我也同意,其在Windows上,對於烏龜SVN的情況下資源管理器集成,也是一個偉大的能力,即使IDE集成可用。這樣可以方便的操作,而無需啓動IDE,同時還可以從資源管理器窗口啓動到IDE(取決於文件類型)或編輯器,或者在Windows資源管理器中操作時進行操作。

是的,在命令行界面依然是寶貴的,尤其是對recuring操作模式的腳本。

我在很多情況下運作。在所有這些領域都具有較低的障礙和操作流動性是值得珍視的。

0

我不確定我是否理解這個問題。根據定義,IDE是集成的,這意味着它們可以幫助您避免與項目相關的任何事情脫離環境。版本控制顯然符合法案。

如果你正在尋找更實際的原因,一個是集成開發環境可以通過其圖形顯示的性質爲您提供的意識。例如,Eclipse會顯示已更改的文件和目錄。使用額外的插件或套件,只要其他用戶正在編輯同一個文件,就可以獲得實時感知,從而幫助您預測合併衝突發生之前。我不熟悉基於命令行的機制。

0

我使用intellij與cvs定期集成,迄今爲止IDE中版本控制集成的最佳特性是逐行顯示添加,編輯或刪除的內容以及輕鬆訪問(鼠標懸停/工具提示)添加到預編輯更改。

這是所有在源代碼中的一個非突兀的方式。

對於版本控制(簽入/籤/更新/等)我有時使用IDE和有時使用命令行的螺母和螺栓。

0

數字1的原因與IDE集成的SCM是,它使得它更輕鬆的使用它,無需記住要檢查的事情了。通過我的經驗,我已經看到開發人員將其視爲無關的步驟,這些步驟通常會編寫除編寫代碼之外的其他任何東西,但都沒有完成。讓他們做一些額外的步驟,增加了開發商不會打擾它,並解決源代碼控制系統

相關問題