1. 程式人生 > >eclipse 中 git 與 svn 共存

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。在命名行,直接更新就可以了。