使用TortiseSVN,您可以通过右键单击目录并选择更新或提交来更新/提交单个目录。
我非常喜欢git的分支功能,但如果我使用git svn dcommit
,它会尝试更新整个存储库,在我们的例子中有几个项目。
那我怎么才能只提交特定的文件/目录?
谢谢!
修改
澄清SVN回购的内容:
+- Trunk
|
+-+- Project 1
| |
| +- Project 1 files...
|
+-+- Project 2
| |
| +- Project 2 files..
|
+-+- My Project
|
+- My Project files...
当我运行git svn dcommit
时,它会尝试更新Project 1, 2
和My Project
中的所有内容。
项目1和项目2完全不相关,正在由其他人开发。如何避免更新/提交其他项目?我只是将这些目录添加到.gitignore
吗?如果我以后需要处理其他项目呢?或者,是否有更好的方法可以使用git svn
来处理这种类型的Subversion存储库?
答案 0 :(得分:0)
git add
您想要的目录,提交它然后执行dcommit(在适当的樱桃挑选后)
我不知道有多个项目的问题是如何进入的。您将在相关项目中添加文件并添加它们。不要将SVN中的提交与dcommit进行比较。将SVN中的提交与Git中的提交进行比较。就像你“直接点击目录”并提交它一样,git add
(或使用TortoiseGit并像在TortoiseSVN中那样做)只有那个目录和提交。然后,做dcommit。
答案 1 :(得分:-1)
当您执行git svn dcommit
时,本地git仓库中的每个提交都将作为单独的提交提交到您的svn远程。如果您想将其作为单个提交,请参阅此问题:Is it possible to make git svn dcommit result in a single svn commit?并参阅ProGit手册中的Rewriting History部分和Git社区手册中的Interactive Rebasing章节。