[英]svn: local commits
Subversion:是否有可能在不推送它們的情況下提交本地修訂,並在以后推送它們 - 或者缺少這個功能,為什么它被稱為“集中式”?
使用Subversion進行本地提交是不可能的。
這是因為,作為集中式版本控制系統,您的本地工作副本沒有服務器有關過去修訂版本,日志條目等的所有信息,如果它是分布式版本控制系統(DVCS),它將具有這些信息。
subversion工作副本包含所有文件的副本,因此您可以在不聯系服務器的情況下還原已更改的文件。
如果你真的想做本地提交,你應該看看SVK ,它建立在Subversion之上,並提供類似DVCS的功能。
上面的大部分已經變得有些過時了,因為這個問題在谷歌搜索“svn local commit”時出現了,這里有一個更新:
考慮使用包“git-svn”(以及“git-gui”,如果你不知道git),通過完全遠程SVN集成,使本地提交既可行又簡單。 一個體面的概述/教程/用例是在這里 。 我剛剛開始在Sourceforge項目中使用這個過程,所以我還不能報告任何問題。 一定要讓Authors文件正確!
編輯:更新鏈接。 謝謝,高清!
如果你將SVN服務器與GIT或Mercurial Bridge連接起來,你可以做這樣的事情。 由於GIT和Mercurial能夠進行本地提交,因此您可以像這樣使用它們。 也許看看git-svn或類似的東西(我記得有一個集市-svn但不確定)。
這就是它被稱為集中化的原因。 您可以嘗試在回購中使用回購。 一個是本地的,另一個是遠程的。 然后,將整個內部存儲庫提交到遠程。
正如其他人所說,沒有。
我強烈建議嘗試使用svn遠程janky。
我沒有使用SVK足以推薦它,它似乎很好。 但是我懷疑在整個項目中使用SVN之上構建的任何東西都沒有任何破壞。 我已經足夠使用SVN知道,如果你不小心的話,即使是正常的工作周期也可以舉杯。
我們在工作中使用SVN。 我一直在使用bzr和bzr-svn來完成我的所有交互,它的工作非常精彩 。 我的工作流程如下:
$ bzr branch file:///var/svn/project ~/project
(hack,hack,hack)
$ bzr commit -m "commit log"
(重復)
當我准備好的時候
$ bzr push
是的,而不是更新你有$ bzr merge
和提交更改(可能擱置你正在做的工作)但本地提交是一個非常好的事情, 擱架也是(擱架就像恢復與保存 )
我認為git也可以處理這個問題。 我聽說它沒有bzr-svn那么完整,但我無法證實這一點。
但是使用帶有svn存儲庫的DVCS是一個很好的方法!
繼BobC的回答之后,對於mercurial,你會使用hgsubversion
。
沒有! 然而,git可以做到這一點,你可以使用git-svn與原始存儲庫保持同步。
為了獲得兩全其美, SVK建立在Subversion之上,但保持本地狀態,以便您可以進行本地提交......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.