2011-02-05 43 views
2

我發現自己經常與人誰不特別版本控制精明的工作,所以下面用例顛覆將是非常有用的,如果我知道魔術話。顛覆:有(臨時)出去了版本控制的是合併文件

  1. 我承諾我的最新版本,請注意版本[R
  2. 我通過電子郵件發送文件,開了一個合作者,並繼續工作,可能要投入更多的變化,因爲我去
  3. 當我得到的文件從合作者回,我做了一個從R到他們的版本的變化3路合併到我的工作副本

似乎分支等是有點重量級,但我打開任何建議的好方法得到工作完成。

回答

1

有可能是一個簡單的解決方案,但這應該工作:

    與你的工作拷貝乾淨的(即沒有本地更改)
  1. 回到先前注意到修訂R(也許
  2. 開始它在電子郵件某處寫)
  3. 在文件複製你的合作者的更改的文件在工作拷貝2 R
  4. 更新到最新版本,在
  5. 合併更改提交合並CH時代
+0

像一個冠軍! – 2011-02-05 18:06:24

+1

@Aleks:您可以考慮通過在分數下面勾選勾號來選擇和/或接受我的答案(或其他)作爲正確的答案。您可以在[FAQ](http://stackoverflow.com/faq#howtoask)中瞭解更多關於該網站的工作原理。哦,歡迎! – 2011-02-05 18:19:14

3

看起來@Martinho Fernandes給了你一個很好的答案,但我想指出在Subversion中分支並不重量級。這是一種便宜,簡單,恆定的時空複製操作。使用分支可能使過程少一些容易出錯:

  1. 當你想發送給你的貢獻者,svn cp代碼到一個新的分支。如果您按照"canonical" repository structure,這將是類似svn cp http://your-repository.com/trunk/ http://your-repository.com/branches/some-name
  2. (可選)使用svn export獲取您的代碼的副本以提供給您的貢獻者。
  3. 繼續在幹線工作。
  4. 當您從您的貢獻者處獲得代碼時,請確保您已檢查任何對主幹的更改,否則下一步將無法按預期工作。
  5. 從您的工作副本的根目錄svn switch http://your-repository.com/branches/some-name
  6. 複製你的貢獻的代碼在你的工作拷貝,並檢查它。
  7. svn switch http://your-repository.com/trunk
  8. 現在,您合併的最後分支的更改提交到工作副本。如果你不習慣,這可能是最棘手的一步,但一旦你知道如何,這是非常簡單的。請參閱this documentation on merging開始。

我知道這看起來不像使用分支和合並一樣簡單,但是一旦你掌握了它,你可能不會想要以任何其他方式做這個事情(當使用Subversion時,在最小)。