2016-07-29 2 views
2

Я хочу, чтобы мой .gitignore игнорировать некоторые папки и файлы, так что я придумал следующее:Git игнорировать не игнорировать указанные папки/файлы

*.class 

# usual java ignores 
bin/ 
.metadata 

# Maven 
*/target/* 
target/* 
/target/ 
*/deploy/* 
deploy/* 

# src-gen folder is populated by the command of protobuf, these files should not be pushed 
src-gen/* 

# eclipse generated stuff 
dependency-reduced-pom.xml 

# we shouldn't have .jar files in our repository, 
# apart from these 5 jars which are vital for our build process 
*.jar 
!/projectName/bundle/**/*.jar 

# For Unix editors 
# sometimes make file copies ending 
# with ~ 
# To ignore them use: 
*~ 

# For Mac 
.DS_Store 
._* 

# For markdown read me files 
.README.md.html 

Однако после git status я не вижу ничего быть удаленным как выход. Заметим, что это подмодуль, если это вообще имеет значение. И я хочу, чтобы этот .gitignore игнорировал все, не указав имя какой-либо папки, так как я не хочу жесткого кодирования.

Вот структура папок у меня есть:

+ parentRepo 
    + thisRepo 
    + .gitignore 
    + projectName 
     + src-gen 
     + target 
     + deploy 
     + dependency-reduced-pom.xml 
     + bundle 
     + system 
      + 1.jar 
      + 2.jar 
      + 3.jar 
      + 4.jar 
      + 5.jar 

ответ

3

«Я не вижу ничего, что нужно удалить» - вы только что сказали git, чтобы игнорировать некоторые файлы; теперь вы ожидаете, что он их удалит?

.gitignore используется только для файлов, которые еще не отслеживаются (то есть когда новые файлы добавляются в репозиторий). Если файл уже находится в репозитории, и вы хотите, чтобы git проигнорировал его, вы должны удалить его из репозитория (git rm --cached file) и зафиксировать изменение.

0

Убедитесь, что ваш .gitignore находится в корневом каталоге. В этом каталоге запустите git status и скопируйте путь к файлу из вывода состояния и вставьте его в .gitignore.

.gitignore будет игнорировать файлы, которые вы еще не добавили в ваш репозиторий.

+0

Итак, у меня будет только 1 .gitignore (в родительском каталоге), и он сделает все для подмодулей? –

+0

Да, но убедитесь, что файлы, которые вы хотите игнорировать, вы не добавляли файлы уже в git repo. – Aakash

+0

[Некоторые] (http://stackoverflow.com/a/5127213/6533075) говорят по-разному о 1 '.gitignore' для всех. –

Смежные вопросы