git を効果的に (そして意図したとおりに) 使用するために、小さなアトミック コミットを行いますが、1 つのことだけを変更するよりも長いセッションを行います。したがって、私は を多用しますgit add -p
。ただし、これは完全に新しいファイルでは機能しません。後でそれらを忘れる傾向があるためです。
私がやりたいことは、新しいファイルがあることを伝えるgit
ことです。追跡したいのですが、ステージングはしません:
例: 実行するとgit status
以下が生成されます。
# On branch my-current-branch
# Your branch is ahead of 'origin/my-current-branch' by 2 commits.
#
# Changes to be committed:
#
<<STAGED SECTION>> // A
#
# 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)
#
<<UNSTAGED-YET-KNOWN SECTION>> // B
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
<<UNKNOWN SECTION>> // C
C セクションにファイルfoo
があり、A セクションに移動すると言いgit add foo
ます。AとBの両方に行くと言ったらgit add -N foo
、少なくとも新しいファイルがあるという事実として、それは次のコミットに含まれることを意味します。
git add -p
後でor git add foo
(または何か)を使用して A に追加できるように、セクション B だけに入れたいと思います。
編集
解決策に関してはadd -N
、これは機能しません。言った後にコミットしようとするとadd -N
、適切に追加していないため、空のファイルの処理方法がわからないため、git が不平を言うからです。
foo: not added yet
error: Error building trees