SVN获得当地历史

时间:2017-12-24 01:52:40

标签: svn intellij-idea version-control

我使用陆龟SVN和IntelliJ IDEA进行本地开发。源代码位于SVN存储库中 我想要的东西,就像当地的一样,我可以在当地工作,有历史和基本的好处: 本地提交,审核历史,来回历史/还原,合并修订 - >最后的svn提交

是一种工具来存档,而不需要太多的开销和搞乱事情的风险。 也许喜欢使用本地svn工作副本作为" DMZ"在本地工作和中央SVN存储库之间。

有没有办法这样做?只需简单解释所需的基本步骤。

1)"检查" out form" svn working copy"
2)改变一些事物 3)本地提交
4)改变某事 5)本地提交
6)改变某事 7)本地提交
8)眉头当地历史
9)在当地历史中得到点 10)改变一些事物 11)地方承诺
12)sqash hisroty部分
13)承诺" svn工作副本"合并的变更
14)提交到svn服务器

2 个答案:

答案 0 :(得分:1)

当您使用IntelliJ IDEA时,还可以选择使用名为本地历史记录的漂亮功能。
您可以在菜单VCS -> Local History -> Show Local History中找到它 它是一个简单的修订清单,并显示了差异 在那里,您可以恢复到特定版本或仅在那里进行图片更改。还有机会在当地历史上对标签进行标注。为了以后更好地找到它们 但请记住,本地历史记录不是真正的版本控制系统(崩溃时可能会损坏,没有分支......)! 默认情况下,它会跟踪文件5个工作日。 (这可以在IDEA注册表中配置,也可以通过VM参数(-DlocalHistory.daysToKeep=30))进行配置 我发现这是一个很好用的功能。

尝试的另一个选择是使用 git-svn 。它更强大但也更复杂。例如。: 设置 - >得到一个本地克隆(这将花费相当长的时间)并设置git忽略与svn相同。

git-svn clone -s http://example.com/subversion/repo local/working/with/git-svn/directory
git-svn show-ignore > .gitignore 

此时,您可以使用命令在本地计算机上使用git正常工作...

git checkout -b <feature branch>
git add .
git checkout <file name> 
git reset HEAD <file name> 
git commit -a
git checkout master 
git merge <feature branch> 

要在新功能分支上创建工作,请将更改的文件添加到索引中,如果愿意,可以将其提交,提交,返回主分支并将更改合并到主服务器。

最后将更改提交到中央svn

git -svn rebase 
git -svn dcommit 

下载SVN更改并对其应用本地更改,然后将其提交给SVN。

答案 1 :(得分:-1)

您所描述的内容更适合分布式版本控制系统,例如GitMercurial

但是如果你想坚持使用Subversion,你可以设置你的代码库的本地SVN存储库(使用TortoiseSVN做&#34;在这里创建存储库&#34;)。然后定期从本地到远程执行svn merge