Я впервые работаю над git. Я разместил свою ветку на github, и она поместила всю библиотеку и документы в github. Что я могу сделать и как использовать команду gitignore, чтобы снова избежать той же ошибки.
git init
. .git
Каталог находится там.
Я впервые работаю над git. Я разместил свою ветку на github, и она поместила всю библиотеку и документы в github. Что я могу сделать и как использовать команду gitignore, чтобы снова избежать той же ошибки.
git init
. .git
Каталог находится там.
Ответы:
Итак, исходя из того, что вы сказали, эти файлы представляют собой библиотеки / документацию, которые вы не хотите удалять, но также не хотите нажимать github
. Пусть у вас есть свой проект в папку your_project
и папку Doc: your_project/doc
.
git rm --cached doc/*
.gitignore
, вы можете сделать один правильный внутри папки проекта: project/.gitignore
.doc/*
.gitignoregit add project/.gitignore
git commit -m "message"
.github
.Если у вас нет файла .gitignore, сначала используйте:
touch .gitignore
затем эта команда для добавления строк в ваш файл gitignore:
echo 'application/cache' >> .gitignore
Будьте осторожны с новыми строками
touch
Файл сначала не нужен . >>
является синонимом >
того, что файл еще не существует. echo
добавляет новую строку в конец вывода. Вы можете остановить это с помощью -n
. Если вам нужны различные игнорирования, либо делать различные эхо - сигналы, или использовать -e
, следующим образом : echo -e "**/cache/\n**.pyc" >> .gitignore
. Двойная звездочка также соответствует всем файлам, которые копаются в папках рекурсивно. /
На всякий случай используйте в конце папок.
echo "file_to_be_ignored" >> .gitignore
, больше ничего делать не нужно. Заканчивайте имена папок символами /
as echo "**/modules/" >> .gitignore
.
git ignore - это соглашение в git. Установка файла по имени .gitignore
будет игнорировать файлы в этом каталоге и более глубоких каталогах, которые соответствуют шаблонам, содержащимся в файле. Чаще всего используется только один такой файл на верхнем уровне. Но вы можете добавить других в структуру каталогов глубже, чтобы игнорировать еще больше шаблонов или перестать игнорировать их для этого каталога, а затем и для более глубоких.
Точно так же вы можете «отменить игнорирование» определенных файлов в более глубокой структуре или в определенном подмножестве (т. Е. Игнорировать * .log, но все равно хотите отслеживать important.log), указав шаблоны, начинающиеся с !
. например:
*.log !important.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
впервые. Здесь же вы можете найти .git
каталог.
Если у вас нет файла .gitignore. Вы можете создать новый
touch .gitignore
И вы можете исключить папку, введя следующую команду в файле .gitignore
/folderName
поместите этот файл в свой репозиторий git, чтобы, когда новый человек клонирует ваш проект, ему не нужно было снова добавлять то же самое
Есть несколько способов использовать gitignore git
просто создайте файл .gitignore и напишите все, что вы хотите игнорировать, образец файла gitignore:
# NPM packages folder.
node_modules
# Build files
dist/
# lock files
yarn.lock
package-lock.json
# Logs
logs
*.log
npm-debug.log*
# node-waf configuration
.lock-wscript
# Optional npm cache directory
.npm
# Optional REPL history
.node_repl_history
# Jest Coverage
coverage
.history/
Вы можете найти больше в документации git gitignore
на моем Mac я нашел этот файл .gitignore_global
.. он был в моем домашнем каталоге скрыт, так что сделайте a, ls -altr
чтобы увидеть его.
Я добавил файлы eclipse, которые хотел, чтобы git игнорировал. содержимое выглядит так:
*~
.DS_Store
.project
.settings
.classpath
.metadata
.gitignore
- это файл в корневом каталоге git. Добавьте шаблоны имен для файлов, которые вы хотите игнорировать, и файлы будут проигнорированы автоматически.