Git больше не размещает мои файлы и сообщает, что они "удалены" и "не отслежены". Почему так и как этого избежать?
Я успешно работал над простым git-репо с 4 файлами, многократно добавляя и фиксируя их.
Но в последнее время каждый раз, когда я пытаюсь добавить некоторые из них, а затем спрашивать о статусе, git сообщает обо всех моих файлах как удаленных и не отслеженных. Поэтому я не могу добавить свои файлы.
$ git add ch28_NN.py
$ git add Challenge28.py
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: .gitignore
deleted: Challenge28.py
deleted: ch28_NN.py
deleted: requirements.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
Challenge28.py
ch28_NN.py
requirements.txt
Моим единственным решением сейчас было бы сделать резервные копии и попытаться сбросить их в нестандартный режим.
Я хотел бы понять, что пошло не так, и как этого избежать.
1 ответ
В конце концов я нашел решение, которое не обсуждается в двух предложенных (но интересных) ссылках.
Я нашел это:
С помощью
git add --all
работал нормально на сценеС помощью
git add -A
не сработало... даже если предполагается, что оно эквивалентно первомуУ меня все еще есть проблема, когда я добавляю свой файл с помощью простой команды
git add filename
, и я все еще разрешаю, добавляя все (git add --all
) Так что это немного хлопотно (потому что это не удобно и остается необъяснимым), но все же я могу продолжать свою работу.
Вот иллюстрация того, что сработало, что не сработало, что воссоздало проблему и что решило ее обратно:
$ git add --all # WORKED FINE
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: Challenge28.py
modified: ch28_NN.py
$ git add Challenge28.py # CREATED BACK THE PROBLEM - but it deleted only three files and it staged one (an other case is reproduced below, with the same command)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: .gitignore
modified: Challenge28.py
deleted: ch28_NN.py
deleted: requirements.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
ch28_NN.py
requirements.txt
$ git add --all # WORKED FINE AGAIN !
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: Challenge28.py
modified: ch28_NN.py
$ git add Challenge28.py # CREATED BACK THE PROBLEM - but it deleted all the four files...
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: .gitignore
deleted: Challenge28.py
deleted: ch28_NN.py
deleted: requirements.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
Challenge28.py
ch28_NN.py
requirements.txt
$ git add -A # DID NOT WORK
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: .gitignore
deleted: Challenge28.py
deleted: ch28_NN.py
deleted: requirements.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
Challenge28.py
ch28_NN.py
requirements.txt
$ git add --all # WORKED FINE AGAIN...
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: Challenge28.py
modified: ch28_NN.py