Git нажатием игнорируемых файлов - PullRequest
0 голосов
/ 18 января 2019

Я создал сетевой проект в фреймворке yii2 на своем локальном компьютере и начал поддерживать код с помощью Git. Несколько дней спустя я решил игнорировать несколько файлов и папок, таких как папки «vendor, runtime and upload». У меня сейчас 3-5 веток мерзавцев. Я также создал репозиторий на веб-сайте Github для сохранения своих изменений в Интернете. Но все игнорируемые файлы и каталоги отправляются в GitHub. Общий размер каталога (исключая каталог .git) составляет около 632 МБ. Размер каталога .git составляет 1,3 ГБ.

Я не хочу выдвигать игнорируемые файлы и каталоги.

Я использовал следующую команду для удаления уже добавленных файлов и папок из Git.

git rm --cached <file> 
git commit -m "to save the changes"

Но когда я отправляю файлы на сервер, он все равно выталкивает помеченные файлы и каталоги.

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

git add --all *

Файл игнорирования Git:

# windows thumbnail cache
Thumbs.db

# composer itself is not needed
composer.phar

# composer vendor dir
/protected/vendor

# runtime dir
/protected/frontend/runtime/
/protected/backend/runtime/

#tempfiles
*~
/assets/**
/uploads/*
*.log

@ Drubio Вот структура каталогов:

/assests
/uploads
/protected
    /backend
       /runtime
       /<rest all the directory by default installed with yii2
    /common
    /frontend
       /runtime
       /<rest all the directory by default installed with yii2
    /vendor
    /console
    /environment

/.git
<few files here on root>
.gitignore
.htaccess

Пожалуйста, помогите.

Спасибо

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Удаление ненужных файлов с помощью git rm приведет к удалению этих файлов из дерева файлов в коммите, в котором вы их удалили, но это не приведет к уменьшению репозитория Git, поскольку Git хранит историю всех старых коммитов, все еще находящихся в хранилище и, следовательно, все содержащиеся в нем файлы.

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

0 голосов
/ 18 января 2019

так что проблема в том, что ваши проигнорированные файлы уже были отправлены на удаленный браузер попробуйте следующий набор команд:

чтобы увидеть ненужные файлы:

git ls-files -ci --exclude-standard

удалить ненужные файлы

git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached

зафиксировать изменения

git commit -am "Removed unwanted files"

нажать изменения:

git push origin <branchname>

...