Есть ли способ добавить неотслеживаемые файлы в git при добавлении через патч? - PullRequest
2 голосов
/ 07 октября 2019

Итак, я учусь радостям git add -p. Раньше я использовал Sourcetree или аналогичный инструмент с графическим интерфейсом для просмотра изменений как часть git add, но теперь мне становится лучше с ним в командной строке.

Однако я разочарован тем, что не могудобавить неотслеживаемые файлы в той же команде. Я бы хотел, чтобы был какой-то параметр, например: git add -p --include-untracked, который затем обрабатывал бы их как патч, как и все остальное.

Есть ли лучший способ сделать это одной командой?

1 Ответ

3 голосов
/ 07 октября 2019

Я не знаю, как сделать это напрямую, похоже на отсутствующую функцию. Вот некоторые обходные пути.

Вы можете запустить git add --intent-to-add . или -N, прежде чем отслеживать все неотслеживаемые файлы. Это не добавит их содержимое, и их изменения будут отображаться в git add -p. Вы можете добавить это в качестве псевдонима в .gitconfig.

[alias]
    addp = !git add -N . && git add -p

. Вы можете использовать интерактивный режим git add -i, чтобы получить более точное управление, включая добавление неотслеживаемых файлов.

$ git add -i

*** Commands ***
  1: status       2: update       3: revert       4: add untracked
  5: patch        6: diff         7: quit         8: help
What now> 4
  1: foo
Add untracked>> 1
* 1: foo
Add untracked>> ^D
added 1 path

*** Commands ***
  1: status       2: update       3: revert       4: add untracked
  5: patch        6: diff         7: quit         8: help
What now> ^D
Bye.

$ git status
On branch master

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   foo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...