2009-09-07 50 views
2

我正在開展下一項任務,突然明白我需要與我的主管討論一些細節以便繼續。我會在幾天之內討論這個問題時,我會對我的首席執行官進行指導。在此之前,我需要處理另一項任務。版本控制系統 - >分支問題

什麼是正確的方法?

我看到2個選項:

1)複製頭從庫修訂到一個新的分支,並開始另一項任務有。完成後 - 將其合併到主幹。或者,也許我需要先從樹幹合併到分支,然後合併回樹幹?

2)從工作副本複製到一個新的分支。將中繼恢復到最後一個修訂版(在我開始討論任務之前),切換到中繼並處理其他任務,然後在分支中完成當前任務併合並。

請詳細解釋正確的方法,因爲我不是經驗豐富的VCS用戶。先謝謝你。

+0

您正在使用哪個版本控制系統?標籤指示「svn」和「cvs」。 – 2009-09-07 00:44:43

+1

我覺得沒關係,因爲問題是一般的,但是我用SVN – nightcoder 2009-09-07 00:48:31

+0

如果沒關係,那就用'git stash' :) http://www.kernel.org/pub/software/scm /git/docs/git-stash.html說真的,事實上,你可以使用'git svn'將Git用作Subversion客戶端,並擁有所有可用的Git輕量級分支管理功能。我一直這樣做,不想放棄。 – 2009-09-07 00:58:51

回答

3

您面臨的問題是您在主幹上啓動了更改,但又想將其提交到其他位置。大多數版本控制系統沒有內置的行爲,這是不幸的。在SVN,最好的辦法是這樣的:

  1. 創建一個新的分支關閉後備箱
  2. 做一個SVN切換到當前的工作副本切換到該分支
  3. 現在您應該本地更改,並能提交它們新的分支
  4. 如果你提交他們的分支,另做切換回主幹
  5. 工作的新特點主幹
  6. 後,你跟你的首席細節,從分支合併它們回到tru NK

希望幫助

+0

我應該從頭版本還是從工作副本創建一個新分支? – nightcoder 2009-09-07 00:53:18

+0

從HEAD分支,切換(分支),更新,提交。 – jeroenh 2009-09-07 05:30:48

-1

我們轉移是基於對發佈不工作。所以現在我們準備在幾周內發佈的所有內容都在5.1.1分支中。這些更改在發佈到生產時會合並回主幹。

+0

我們也這樣做......唉,這種痛苦和痛苦正在引起我們的痛苦。鏟子迴歸完整(因爲錯誤修復是在客戶的生產分支中完成的,但未合併到主幹中)。釋放週期延伸到永恆,因爲功能集不能及時完成,但已經部分地在同一個集羣中犯下......從這一點上沒有選擇......完成開始於大急流,偷工減料,接下來花費的時間3個月穩定,並從管理層獲取火焰,但遲遲不穩定釋放......視線 – Newtopian 2009-09-07 02:29:41

+0

我們確實遇到同樣的問題,這就是爲什麼我們構建了發佈管理工具,現在它是http://www.releasemanager.com/容易推出一個功能並控制發佈中的內容。 – JBrooks 2009-09-07 03:41:27

0

真的這兩種選擇都適合你,而不是比其他更正確;什麼將決定最簡單的行動方式是合併變更所需的困難。如果可能的話,通常在svn中你想避免合併。

通常這種決定取決於你的團隊文化;如果您的同事通常不希望在主幹上進行未完成/未批准的更改,那麼將您的更改移至分支然後在您的主管批准您的代碼後合併是有意義的。當然,如果你正在單獨工作,那麼這完全取決於你。

根據您的情況,您確實有第三種選擇可能會也可能不會,這只是在同一時間處理幹線中的兩個任務,並單獨提交各個更改。

0

我會做第一個選擇,因爲我可以保持我的後備箱清潔(始終工作)。由於您所談論的功能仍需要您的老闆確認。如果該功能最終被拋棄,您的主幹仍然不會受到影響,並且團隊中的其他成員不會與這些更改混淆。