Исключить папки .svn в git

Я пытаюсь исключить отслеживание папок subversion с помощью git. Я попробовал пару разных настроек для .git/info/exclude, но он, похоже, не работает. Я бы использовал git -svn, но мне больно запрашивать доступ, чтобы заставить это работать, поэтому я бы скорее обойти это, исключив папки.

Я хочу исключить ".svn/entries"

Я попытался добавить следующие строки в .git/info/exlude: .svn записи .svn/записи записи СВН

Независимо от того, что я пытаюсь, появляются записи .svn, когда я запускаю git status

Ответ 1

Я думаю, вы хотите использовать файл .gitignore в своем каталоге верхнего уровня. Это будет работать, если вы поместите ".svn/entries" в строку в этом файле. Вы можете просто поставить ".svn" вместо ".svn/entries".

EDIT: см. комментарии. Если файлы уже отслеживаются git, они всегда будут отображаться в git status.

Ответ 3

Поместите ".svn" в файл ~/.gitexcludes. Затем сообщите git об этом:

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

(Убедитесь, что вы изменили USER_NAME, чтобы он указывал на ваш домашний каталог)

Ответ 4

Эта структура и содержимое .gitignore работали для меня

  • \. Мерзавец
  • \. СВН
  • \.gitignore

.gitignore содержание

.svn/
.gitignore

Ответ 5

Сделайте то, что предлагает Casey, за исключением имени файла .gitignore и поместите его в корень вашего репозитория git.

Мне также нравится делать attrib +h .gitignore, поэтому он не будет отображаться в моих окнах проводника.

Ответ 6

если вы хотите сохранить каталог svn.

вы можете запустить следующее:

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

а затем запустите echo ".svn" >>.gitignore в корневом каталоге

Ответ 7

поскольку каждая папка с версией имеет каталог .svn, который вы должны поставить:

*/. СВН/*

Ответ 8

Добавление .svn к моему .gitignore и выполнение команды JesseRusak сделали трюк для меня.

Спасибо!