Как использовать команду gitignore в git



Я работаю в первый раз на git. Я подтолкнул свою ветку на github, и она подтолкнула всю библиотеку и документы в github. Теперь что я могу сделать и как я могу использовать команду gitignore, чтобы избежать той же ошибки снова.

1718   5  

5 ответов:

Итак, основываясь на том, что вы сказали, эти файлы являются библиотеками/документацией, которую вы не хотите удалять, но также не хотите нажимать на github. Допустим, у вас есть свой проект в папке your_project и каталог doc:your_project/doc.

  1. удалить из каталога проекта (без его удаления): git rm --cached doc/*
  2. если у вас еще нет .gitignore, вы можете сделать один прямо в папке проекта: project/.gitignore.
  3. поставить doc/* в .gitignore
  4. этап файл для фиксации:git add project/.gitignore
  5. Commit:git commit -m "message".
  6. нажмите на изменение github.

Если у вас нет .gitignore файл, первое использование:

touch .gitignore

затем эта команда для добавления строк в файл gitignore:

echo 'application/cache' >> .gitignore

будьте осторожны с новыми строками

git ignore-это соглашение в git. Установка файла по имени .gitignore будет игнорировать файлы в этом каталоге и более глубокие каталоги, соответствующие шаблоны, которые содержит файл. Чаще всего используется только один файл вот так на высшем уровне. Но вы можете добавить другие глубже в свой каталог структура, чтобы игнорировать еще больше шаблонов или прекратить игнорировать их для этого каталога а впоследствии и более глубокие.

кроме того, вы можете "unignore" определенные файлы в a более глубокая структура или специфическое подмножество (т. е. вы игнорируете *.войти, но хотите по-прежнему отслеживать важно.журнал) по указание шаблонов, начинающихся с !. например:

*.log !important.log

будет игнорировать все файлы журнала, но и будет отслеживать файлы с именем важно.журнал

если вы отслеживаете файлы, которые вы хотели игнорировать, удалите их, добавьте шаблон вы.gitignore файл и добавить все изменения

# delete files that should be ignored, or untrack them with 
# git rm --cached <file list or pattern>

# stage all the changes git commit
git add -A 

отныне ваш репозиторий не будет их отслеживать.

если вы хотел бы очистить свою историю, вы можете

# if you want to correct the last 10 commits
git rebase -i --preserve-merges HEAD~10 

затем отметьте каждую фиксацию с помощью e или edit. Сохраните план. Теперь git будет переигрывать ваша история останавливается на каждом коммите, отмеченном e. здесь вы удаляете файлы, которые вам не нужны,git add -A а то git rebase --continue пока вы все готово. Ваша история будет чистой. Убедитесь, что вы говорите вам коллег, как вы придется форсировать толчок, и им придется перебазировать то, что они еще не нажали.

в вашем корневом каталоге git есть файл с именем .gitignore. Это файл, а не команда. Вам нужно просто вставить имена файлов, которые вы хотите игнорировать, и они будут автоматически игнорироваться. Например, если вы хотите игнорировать все файлы автосохранения emacs, которые заканчиваются на ~, затем вы можете добавить эту строку:

*~

если вы хотите удалить ненужные файлы из своей ветви, вы можете использовать git add -A, где "удаляет файлы, которые больше не в рабочей дерево".

Примечание: то, что я назвал "корневой каталог Git" - это просто каталог, в котором вы использовали git init в первый раз. Это также, где вы можете найти

на моем Mac, я нашел этот файл .gitignore_global ..Это было в моем домашнем каталоге скрыто так что сделайте ls -altr чтобы увидеть его.

я добавил eclipse файлы, которые я хотел git игнорировать. содержание выглядит так:

 *~
.DS_Store
.project
.settings
.classpath
.metadata

Comments

    Ничего не найдено.