排除git中的.svn文件夹

时间:2009-05-04 20:27:36

标签: svn git

我正试图排除subversion的文件夹被git跟踪。我为.git / info / exclude尝试了几种不同的设置,但它似乎不起作用。我会使用git-svn,但请求访问权限让它起作用很麻烦,所以我宁愿通过排除文件夹来解决这个问题。

我想排除“.svn / entries”

我尝试将以下行添加到.git / info / exlude: .svn文件 项 的.svn /项 SVN

无论我尝试什么,当我运行git status时都会显示.svn条目

8 个答案:

答案 0 :(得分:50)

我认为您希望在顶级目录中使用.gitignore文件。如果您在该文件中的一行上放置“.svn / entries”,这将有效。您可能只需要输入“.svn”而不是“.svn / entries”。

编辑:见评论。如果他们的文件已被git跟踪,则它们将始终显示在git status

答案 1 :(得分:28)

这个帖子有正确的答案:

Git - Ignore certain files contained in specific folders

你真正需要的是:

.svn*

答案 2 :(得分:25)

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

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

(请务必更改USER_NAME,使其指向您的主目录)

答案 3 :(得分:5)

以下结构和.gitignore内容为我工作

  • \。GIT中
  • \。SVN
  • \。gitignore

.gitignore内容

.svn/
.gitignore

答案 4 :(得分:3)

执行Casey建议的内容,除了将文件命名为.gitignore并将其放在git仓库的根目录中。

我也想做一个attrib +h .gitignore所以它不会出现在我的资源管理器窗口中。

答案 5 :(得分:3)

如果你想保留svn目录。

您可以先运行以下内容:

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

然后在根目录

中运行echo ".svn" >>.gitignore

答案 6 :(得分:2)

因为每个版本化文件夹都有一个.svn目录,你必须放置:

* /。SVN / *

答案 7 :(得分:0)

将.svn添加到我的.gitignore并执行JesseRusak的命令对我来说很有用。

谢谢!