Я установил локальный мерзавец на моей машине. Когда я инициализировал git, я добавил предварительно скомпилированные библиотеки и двоичные файлы. Однако сейчас, во время разработки, я не хочу периодически проверять эти файлы. Я не хочу удалять эти файлы из репо. Есть ли способ не отслеживать эти файлы, пока я не закончу свою разработку. (Я думаю, что не могу использовать .gitignore, так как он работает только для тех файлов, которые не находятся в git. Я хочу временно отключить отслеживание файлов.)
git
github
repository
agent.smith
источник
источник
Ответы:
git update-index должен делать то, что вы хотите
Это скажет git, что вы хотите начать игнорировать изменения в файле
git update-index --assume-unchanged path/to/file
Когда вы хотите начать отслеживать снова
git update-index --no-assume-unchanged path/to/file
Github Документация: обновление-индекс
источник
git rm --cached
, приведет к удалению локальных копий на других машинах, на которых проверяется та же ветвь, при их следующем извлечении. Смотрите arlocarreon.com/blog/git/… и особенно обсуждение ниже.вы можете сохранить ваши файлы без изменений после
добавьте свои файлы с
их подталкивать или делать что хочешь.
источник
git rm --cached .DS_Store
затем он печатаетrm '../.DS_Store'
и локальный файл удаляется ??! (git version 2.6.4 (Apple Git-63)
)Тем не менее, вы не должны в первую очередь создавать скомпилированные двоичные файлы и внешние зависимости. Используйте такой инструмент, как Bundler, вместо этого.
источник
Используйте следующую команду, чтобы распаковать файлы
источник
Git-book упоминает об этом в разделе 2.4: «Отмена вещей». По сути, вам нужно сбросить состояние индекса для некоторых файлов обратно в состояние HEAD, то есть в состояние последней проверки (или подтверждения). Это отменяет размещение файла в текущем индексе. Команда для этой задачи:
git reset
[1]Итак, команда, которую вы должны выполнить:
Более новые версии git (я полагаю начиная с 1.6 или около того) дают эту команду (и многие другие) в качестве подсказки при выполнении
git status
. Эти версии очень удобны для пользователя. Персональный совет: если вы используете только несколько файлов, используйтеgit add -i
. Это запустит интерактивный инструмент постановки, который делает вещь особенно легкой. Кроме того, я настоятельно рекомендую прочитать книгу, так как она очень четко описывает использование git в практических ситуациях.[1] http://www.git-scm.com/book
источник
git reset [file]
это самый простой способ удаления файлов.Не ответ на оригинальный вопрос. Но это может кому-то помочь.
Чтобы увидеть внесенные вами изменения ( узнать, какие файлы помечены как --assume-неизмененные )
Полученный список файлов будет иметь префикс с одним символом (например, H или h). Если это строчная буква (то есть h), то файл был помечен --assume-неизменным
источник
Я предполагаю, что вы спрашиваете, как удалить ВСЕ файлы в папке сборки или в папке bin, а не выбирать каждый файл отдельно.
Вы можете использовать эту команду:
git rm -r -f /build\*
Убедитесь, что вы находитесь в родительском каталоге каталога сборки.
Эта команда рекурсивно «удалит» все файлы, которые находятся в папках bin / или build /. Под словом «удалить» я подразумеваю, что git сделает вид, что эти файлы «удалены», и эти файлы не будут отслеживаться. Git действительно отмечает, что эти файлы находятся в режиме удаления.
Убедитесь, что ваш .gitignore готов к предстоящим коммитам.
Документация: git rm
источник
git reset [файл]
Получить файл обратно из рабочей области в рабочий каталог
Я часто забываю добавлять свои модули узлов в файл .gitignore, это решает эту проблему.
источник
Это сработало для меня
git reset HEAD 'имя файла'
источник
Чтобы удалить все файлы Untrack. Попробуйте эту команду терминала
источник
для удаления неотслеживаемых файлов и папок установите git clean -fdx
источник