如果項目有多個人,比如說A,B,C一起工作,他們都編輯同一個源文件。哪個版本控制?
幾個月後,他們意識到了什麼A已經做是錯誤的,他們要還原的文件以這樣一種方式,只有部分/功能/線/ ...的是,「感動」被去除, B和C的工作仍在回滾版本中。換句話說,回滾版本只有B和C的作品,直到他們決定刪除A的作品爲止。
是否有任何版本/源控制軟件在那裏(免費/商業)能做到嗎?
謝謝。
如果項目有多個人,比如說A,B,C一起工作,他們都編輯同一個源文件。哪個版本控制?
幾個月後,他們意識到了什麼A已經做是錯誤的,他們要還原的文件以這樣一種方式,只有部分/功能/線/ ...的是,「感動」被去除, B和C的工作仍在回滾版本中。換句話說,回滾版本只有B和C的作品,直到他們決定刪除A的作品爲止。
是否有任何版本/源控制軟件在那裏(免費/商業)能做到嗎?
謝謝。
Git和有點腳本將這樣做。也許有點手工工作,但你可以使用交互式rebase進行提交。
我使用TFS和Git。但是,有很多免費和開源的版本控制軟件。你可以找到所有的源代碼控制軟件here。
大多數VCSS應該能夠做到這一點 - 這是一個反向合併。在Subversion中,您可以識別A所做的修改並重新合併它們,但相反。爲了簡單化,這意味着將線添加成線刪除,反之亦然。
# Don't want revision 37 because A made it.
$ svn merge -r 37:36 path
在Git中,你可能會做一些像
git revert `git rev-list --author=A`
[注:沒有經過充分測試]
有點腳本?不應該'git回覆'夠了嗎? –
knittl
2010-10-30 10:07:43
是的,你至少需要一個命令才能找到某個特定人的所有提交。這已經是腳本了。 – 2010-10-30 12:52:45