По какой-то причине Git говорит мне, что у меня есть файл, который "должен быть совершен", а также "не поставлен для фиксации"? Это не имеет смысла:
% git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: Dir1/Dir2/filename.cpp
#
# 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: Dir1/Dir2/filename.cpp
Dir1
, Dir2
и filename.cpp
- это, безусловно, все тот же файл. Мне пришлось добавить filename.cpp
назад, чтобы он отображался как изменение, которое должно быть зафиксировано (после того, как оно было первоначально в репозитории). О единственном, что могло вызвать проблему, было то, что я спрятал, pull --rebase
, а затем вытащил stash
? .gitignore
не перечисляет Dir1
, Dir2
или filename.cpp
в любом месте, и шаблоны не предполагают, что они поймают этот файл?