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
Другие вопросы по тегам