git add не добавляет изменений при использовании из внутренних каталогов - PullRequest
1 голос
/ 05 апреля 2019

У меня есть следующие каталоги projectdir>subdir>subsubdir и .git папка внутри projectdir

Когда я делаю git add . из subsubdir, изменения внутри projectdir не добавляются в Changes to be committed:

$ git status  
On branch master
Your branch is up to date with 'basicdjango/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   ../../.gitignore
    new file:   .env.example
    modified:   settings.py

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:   ../../.gitignore

Так как я могу добавить изменения до projectdir

1 Ответ

1 голос
/ 05 апреля 2019

. - это синтаксис для «всего в текущем каталоге» (и рекурсивно внутри его подкаталогов).

Так что вы можете либо:

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

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

  • воздерживаться от использования git add . каждый раз. Это удобный инструмент, но во многих случаях он не нужен, только с несколькими файлами или каталогами. (И использование только этого ярлыка может привести к игнорированию существования индекса, что, вероятно, не очень хорошая практика)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...