eclipse 中 git 與 svn 共存

摘要
博客我一直用的是svn,最近想把代碼託管在git上,但是又不想放棄svn。於是嘗試讓svn與git共存,事實證明是可行的。


首先,我這裏是用eclipse讓git和svn共存的,事實上直接用命令更新git和svn,或者在Idea中也是可行的,這幾者大同小異。


1、先配置svn

在eclipse中使用svn導出項目,或者新建一個倉庫,在workspace的項目根路徑下,就會出現.svn文件,如下:

這一步很簡單,然後就可以提交、更新或者檢出了。然後在項目右鍵->Team->斷開連接

如果eclipse沒有svn,在help->marketplace中搜索subversive安裝即可,svn使用方法可百度。


2、配置 git 倉庫

接下來配置git,現在的新版eclipse中一般都自帶了git工具,如果沒有,可在help->marketplace中搜索EGIT安裝即可

這時候其實我們本地已經有svn導出的項目了,直接在項目上右鍵->Team->Share Project

然後選擇git,勾選下圖的“使用工程父目錄創建倉庫”,然後finish


3、配置git忽略svn的一些.svn等文件

在git和svn共存的時候,我們是不希望他們互相更新對方的配置文件的,所以我們需要做一些配置。在新版的eclipse中,其實是有設置忽略一些的。在window->preferences->Team->Ignored Resources中可以看到,這是eclipse默認忽略的一些


我們在工程跟目錄下(也就是跟.svn文件同級)創建名字爲.gitignore的文件,在裏面加上上傳時忽略的文件,如.svnbuild這些,自己可以看着加。順便也要把.gitignore忽略了,不過這個文件要寫在最後。要是寫在最前面,首先就忽略了,就讀取不到其他忽略的文件了。


4、提交首次git更新

在項目上右鍵->Team->Commit,提交,出現以下頁面。其中1是沒有更新的文件,2是這次要更新的文件,這兩個框裏的文件可以拖拽或者點擊框右上角的符號添加和去除。因爲我這裏已經更新過了,所以是空白。同時,在提交的時候,是看不到剛剛忽略的文件的。
右上角是提交更新的註釋,這是必須要寫的。最後點擊右下角的Commit and Push,意思就是同時更新到本地和遠程倉庫。

然後可以百度一下後面的步驟,如果更新出錯了,可以在最後一步勾選Force Update All Specs。因爲在git創建倉庫的時候可能勾選了創建readme.md文件,這樣就導致本地和遠程倉庫文件數量不統一(遠程倉庫有本地沒有)。
當然如果這個遠程倉庫不是第一次創建的,就有可能是別人先修改了,最好先pull遠程到本地,讓本地更新到最新版,然後執行更新。

更新完成之後,右鍵->Team->斷開連接


5、配置svn忽略git的文件

到這一步,我們已經完成了一大半了。但是這個時候,項目裏會有.git,readme.md,.gitignore等git的文件。我們在項目文件裏,右鍵這些文件,然後添加到svn的忽略列表,如下圖:

如果是文件,選擇第一個忽略就行。如果是文件夾,選擇第三個遞歸忽略。
注意:這裏能添加的前提是這些文件還沒有被svn監聽,就是沒有提交過。如果提交了,只有先刪除或者移動文件到別處,然後提交一次更新,然後再創建或者移動回來,纔可以添加到忽略列表。
另外在eclipse中,也可以右鍵->Team->添加到ignore,也必須是沒有提交過的文件。


然後我們就大功告成了。在eclipse中可以通過連接和斷開連接來指定使用git還是svn。在命名行,直接更新就可以了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章