SVN获取本地历史
SVN getting a local history
本地开发我用的是tortoise SVN和IntelliJ IDEA。源代码在 SVN 存储库中。
我想要的是类似于本地历史的东西,我可以在本地处理历史及其基本好处:
本地提交,审查历史,在 history/revert 中来回,合并修订 -> 最终 svn 提交
是一种工具,可以在没有太多开销和搞砸事情的风险的情况下将其归档。
也许喜欢使用本地 svn 工作副本作为本地工作和中央 SVN 存储库之间的 "DMZ"。
有办法吗?简单解释所需的基本步骤。
1) "Check" 形式 "svn working copy"
2) 改变一些东西
3) 本地提交
4) 改变一些东西
5) 本地提交
6) 改变一些东西
7) 本地提交
8) 浏览本地历史
9) 在本地历史中获得分数
10) 改变一些东西
11) 本地提交
12) sqash hisroty 部分
13) 提交 "svn working copy" 合并更改
14) 提交到 svn 服务器
您所描述的内容更适合 Git
或 Mercurial
等分布式版本控制系统。
但是如果你想坚持使用 Subversion,你可以为你的代码库设置一个本地 SVN 存储库(使用 TortoiseSVN 来做 "Create repository here")。然后从本地到远程定期 svn merge
。
当您使用 IntelliJ IDEA 时,还可以选择使用名为 Local History.
的好功能
您可以在菜单 VCS -> Local History -> Show Local History
.
中找到它
它是一个简单的修订列表并显示了差异。
在那里您可以恢复到特定的修订版或仅在那里进行图片更改。也有机会在当地历史的修订上贴上标签。为了以后更好的找到他们。
但请记住 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。
本地开发我用的是tortoise SVN和IntelliJ IDEA。源代码在 SVN 存储库中。
我想要的是类似于本地历史的东西,我可以在本地处理历史及其基本好处:
本地提交,审查历史,在 history/revert 中来回,合并修订 -> 最终 svn 提交
是一种工具,可以在没有太多开销和搞砸事情的风险的情况下将其归档。 也许喜欢使用本地 svn 工作副本作为本地工作和中央 SVN 存储库之间的 "DMZ"。
有办法吗?简单解释所需的基本步骤。
1) "Check" 形式 "svn working copy"
2) 改变一些东西
3) 本地提交
4) 改变一些东西
5) 本地提交
6) 改变一些东西
7) 本地提交
8) 浏览本地历史
9) 在本地历史中获得分数
10) 改变一些东西
11) 本地提交
12) sqash hisroty 部分
13) 提交 "svn working copy" 合并更改
14) 提交到 svn 服务器
您所描述的内容更适合 Git
或 Mercurial
等分布式版本控制系统。
但是如果你想坚持使用 Subversion,你可以为你的代码库设置一个本地 SVN 存储库(使用 TortoiseSVN 来做 "Create repository here")。然后从本地到远程定期 svn merge
。
当您使用 IntelliJ IDEA 时,还可以选择使用名为 Local History.
的好功能
您可以在菜单 VCS -> Local History -> Show Local History
.
中找到它
它是一个简单的修订列表并显示了差异。
在那里您可以恢复到特定的修订版或仅在那里进行图片更改。也有机会在当地历史的修订上贴上标签。为了以后更好的找到他们。
但请记住 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。