git-svn提交一个目录?

时间:2011-07-08 19:20:46

标签: git git-svn

使用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, 2My Project中的所有内容。

项目1和项目2完全不相关,正在由其他人开发。如何避免更新/提交其他项目?我只是将这些目录添加到.gitignore吗?如果我以后需要处理其他项目呢?或者,是否有更好的方法可以使用git svn来处理这种类型的Subversion存储库?

2 个答案:

答案 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章节。