Подтвердить что ты не робот

Как отслеживать, но не этап и как нестационарно, но не отслеживать?

У меня есть два кратких вопроса:

  • Как я могу отслеживать файлы, но не создавая их?
  • Как я могу заблокировать файлы для фиксации без их устранения?

ПРИМЕЧАНИЕ.. Я знаю, что могу выполнить первоначальную фиксацию для отслеживания файлов и начать с нее с отслеживанием моих файлов. Но возможно ли конкретно выполнить то, что я прошу выше?

Я пытался использовать git add -N <expr>, но он отслеживает файл и добавляет его для фиксации:

PS C:\> git add -N fileA
PS C:\> git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   fileA
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   README.md
#       modified:   composer.lock
#       modified:   fileA
#

Если я выполняю git reset HEAD fileA или git rm --cached fileA, отключает его, но также не проверяет файл. Эта команда git rm fileA предлагает мне использовать флаг -f, который удаляет файл в физическом формате.

Итак, можно только отслеживать, но не выполнять сцену, а только нестационарные, но не отформатированные файлы?

4b9b3361

Ответ 1

Обновление (май 2015 г.)

Я пытался использовать git add -N <expr>, но он отслеживает файл и добавляет его для фиксации:

Это больше не относится к предстоящему Git 2.5 (Q2 2015).
См. "Файл не попадает в фиксацию после использования git add -N"


Оригинальный ответ (март 2013 года)

Как я могу отключить файлы для фиксации без их устранения?

Это официальный путь:

git reset HEAD fileA

Но так как это новый файл, вы также не обратили внимание на него (удалите его из индекса, без какого-либо предыдущего фиксации, ссылающегося на него).

Запуск отслеживания файла означает его наличие в индексе (этапе) или фиксации.

Я бы порекомендовал создать ветку для этих файлов, чтобы добавить их/зафиксировать там.
См. "Что такое отслеживаемые файлы и необработанные файлы в контексте GIT?"

  • Отслеживаемые файлы - это файлы, которые были в последнем снимке; они могут быть немодифицированы, изменены или поставлены.
  • Отслеживаемые файлы - это все остальное - любые файлы в вашем рабочем каталоге, которые не были в вашем последнем снимке и не находятся в вашей промежуточной области (индекс)

Это означает, что для нового файла, нестационарного, это означает, что он не отслеживает его.

отслеживаемые файлы в  git
(Источник: Pro Git Книга, 2.2 Git Основы - Запись изменений в репозиторий)
(Спасибо, louisfischer за обновление/исправление в комментариях)

См. также "Git - как узнать, отслеживается ли файл Git (по коду выхода оболочки)?".

Ответ 2

Отследить все ваши файлы с помощью git add. Зафиксируйте все изменения, которые вы хотите совершить, и нажмите на удаленный. Затем запустите свой новый файл с помощью git stash. Ваш файл будет отслеживаться, но не будет выполнен. Итак, в вашем примере вы начнете с un-staging fileA. Затем запустите git add README.md и git add composer.lock. git commit -m "Committing fun stuff.". Теперь нам нужно отслеживать новый файл без его постановки, поэтому мы просто делаем git add fileA, а затем git stash. Когда вы будете готовы зафиксировать файлA, вы можете запустить git stash pop для фиксации/нажатия на удаленный.