2

所以我正在学习的乐趣git add -p。我曾经使用 Sourcetree 或类似的 GUI 工具来查看作为 的一部分的更改git add,但现在我在命令行上使用它变得更好了。

但是,我很沮丧,我无法在同一命令中添加未跟踪的文件。如果有一些选项,我会喜欢它:git add -p --include-untracked然后将它们视为一个补丁,就像它的其余部分一样。

有没有更好的方法可以作为单个命令执行此操作?

4

1 回答 1

3

我不知道直接执行此操作的选项,这似乎是一个缺失的功能。这里有一些解决方法。

您可以运行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
于 2019-10-07T17:19:14.693 回答