我在谷歌代码上有一个公开托管的svn存储库,但是由于各种原因我在本地切换到git。我目前是唯一可以访问googlecode repo的开发人员,因此无需进行提取。所有提交都通过dev分支到主分支到svn,git svn dcommit
。一切安好。现在我的情况是我在git的版本控制中本地有一些文件,但我不想让它们公开。
所以我有了一个想法:我创建一个私有目录,并在我的svn repo中添加一个svn:ignore“private / *”属性。但比之后
git svn dcommmit
我收到错误:在提交期间合并冲突:文件或目录'。'已过期;尝试更新:资源过时;尝试在/ usr / local / git / libexec / git-core / git-svn第574行更新
我尝试将svn:ignore属性导入.git / info / exclude,但是从git中排除了'private'中的所有git文件,这绝对不是我想要的。
[2011年8月6日]
我认为错误不是因为svn:ignore,似乎git svn完全忽略了svn:ignore,但由于其他一些未知原因。问题变为:是否可以从git svn dcommit
中排除路径,方法与使用--ignore-path
git svn fetch
排除路径的方式相同
答案 0 :(得分:1)
git-svn忽略svn:ignore但SmartGit如果您使用SmartGit签出您的存储库则不会。它将其转换为相应的.gitignore文件,反之亦然。 所以我建议你使用SmartGit而不是git-svn。
答案 1 :(得分:0)
git-svn man页面表明可以使用以下配置密钥进行此操作:
svn-remote.<name>.ignore-paths