簡體   English   中英

svn:本地提交

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM