2010-06-26 20 views
1

我現在開始閱讀有關git-svn現在使用它與一個使用SVN的項目。需要一個git-svn工作流的建議,以保持個人文件遠離svn

我想爲我的某些文件(待辦事項文件,暫存代碼等),我想跟蹤他們在Git存儲庫。是否有可能在Git中有一些文件,但不在SVN存儲庫中?

我雖然大約有分支master將與SVN倉庫進行同步和我的工作保持到了其他分支(work),後來我將需要合併/推修改SVN之前變基workmaster和刪除這些文件和提交/日誌消息...似乎不切實際(我不知道該怎麼做)。

我也在考慮在代碼中添加很多評論,因爲我很瞭解它,但其中大部分我都應該爲我保留。

有沒有人有工作流的建議,以保持一些文件遠離SVN存儲庫?

或者我應該忘記這個想法,並有另一個git倉庫嗎?

回答

1

不要害怕分支和合並,這對於Git來說是非常容易的。只需將本地更改保存在單獨的分支上,我們將其稱爲play,然後在master(我認爲它與Subversion中繼同步)或功能分支上完成其餘工作。

從Subversion提取新的更改後,您可以在master之上重新設置play以獲取最新的代碼並解決潛在的衝突。如果您改變主意並決定發佈一些play更改,您可以隨時挑選master之上的單個提交併將其推送到Subversion。

+0

你的回答是對的,我在另一種情況下做了類似的事情(沒有git-svn)。 然而,在這種情況下,最終我沒有使用git-svn,因爲有一些其他限制(例如,在svn服務器上對新文件設置了一些propset,而git-svn無法做到這一點)。 – dbarbosa 2010-11-21 01:24:58

0

爲什麼你的待辦事項文件等需要與其他代碼放在同一個存儲庫中?只需在您的機器上的其他位置創建一個新的存儲庫。

+0

最初,將它們放在同一個存儲庫中似乎更好。我已經編輯了這個問題來說明清楚。 但是,是完全有可能(和實際)只是有另一個存儲庫。 – dbarbosa 2010-06-26 16:51:59

0

如果你想要自己的東西貫穿你的git回購,看看mine

看起來像它的周圍在全局gitignore 文件中的行*_mine_*,它可以讓你有一個項目的結構,像這樣的糖:

project-root/ 
    tempBugList_mine_ # git will ignore this file 
    readme.md 
    _mine_/   # everything in this dir will be ignored by git 
     notes 
     promotion-ideas 
    lib/ 
     fileone 
     filetwo 
    _mine_foodForThought # ignored by git too! 

mine可以snapshotclean,並且restore那些*_mine_*文件& dirs git clean和朋友不能吹走你的個人資料。