排除git中的.svn文件夹

我试图排除颠覆的文件夹被git跟踪。 我为.git / info / exclude尝试了一些不同的设置,但似乎不起作用。 我会使用git-svn,但是请求访问来让它工作是一件痛苦的事,所以我宁愿通过排除文件夹来解决这个问题。

我想排除“.svn / entries”

我已经尝试添加以下行到.git / info / exlude:.svn条目.svn /条目条目 svn

无论我尝试什么,运行git状态时,.svn条目都会显示出来

我想你想在顶层目录中使用.gitignore文件。 这将工作,如果你把“.svn /条目”在该文件中的一行。 你可能只需要input“.svn”而不是“.svn / entries”。

编辑:见评论。 如果他们的文件已经被git跟踪,他们会一直显示在git status

这个线程有正确的答案:

Git – 忽略特定文件夹中包含的某些文件

你真正需要的是:

 .svn* 

将“.svn”放在~/.gitexcludes文件中。 然后告诉git:

 echo '.svn' > ~/.gitexcludes git config --global core.excludesfile "/home/USER_NAME/.gitexcludes" 

(请确保您更改了USER_NAME,以便它指向您的主目录)

这下面的结构和.gitignore的内容为我工作

  • \ git的
  • \ .svn文件
  • \的.gitignore

.gitignore内容

 .svn/ .gitignore 

做什么Caseybuild议,除了命名文件.gitignore并把它放在你的git回购的根。

我也喜欢做一个attrib +h .gitignore所以它不会显示在我的资源pipe理器窗口。

如果你想保持svn目录。

您可以先运行以下内容:

 for dir in $(find ./ -type d -name \*.svn); do git rm --cached -r $dir; done; 

然后在根目录下运行echo ".svn" >>.gitignore

由于每个版本化的文件夹都有一个.svn目录,你必须把:

* / SVN / *

将.svn添加到我的.gitignore并执行JesseRusak的命令对我来说是个诀窍。

谢谢!