2016-04-04 23 views
1

我々はステージング(gitのを)コミットせず

git add readme.txt 

でファイルをステージングするときにgitでは、「README.TXT」ファイルがコミットされていない、ということを知っている、と私たちは

を使用するまで、それはそうまま
git commit readme.txt -m "..." 

しかし、私はそのような状況が有用であるとは想像できません。どのような状況で、ファイルをコミットせずにステージングする必要がありますか?

+2

あなたは繰り返しコミットを構築できますか? – Doon

+2

基本的にステージングは​​、実際にコミットする前にコミットを構築する場所です。いくつかのファイルやファイルの一部を追加したり、行を選択したり、変更を見直したりすることができます。 – njzk2

+1

'readme.txt'を具体的に作成したら、' gitコマンドをコミットします。その理由は、 'git commit'を実行するときにファイルをリストすると、' git commit --only'がデフォルトとなります。つまり、既にステージングしたファイルは無視されます。 – torek

答えて

3

後でにコミットすると便利です。

今日はそれを実行して明日プロジェクトを続けることができます(変更されたファイルは問題ないと思いますが、他のものを修正してユニットテストを追加する必要があります)。ファイルをステージングすると、ソートの「セーブポイント」が得られます。ステージングされたバージョンとの差異のようなことをすることができます。

一般的なワークフローは、(まだ空でも)新しいファイルをすぐにステージングすることです。その結果、「untracked」ではなく「modified」として表示され、後でコミットに含めることを忘れないでください。多くのIDEは、新しいソースコードファイルを作成すると自動的にそのことを行います。

gitがあるreadme.txt -mをコミット "..."

実は、あなたはおそらく、 "README.TXTをコミット" と言ってられないでしょう。ファイルを列挙することなくコミットすることができ、前にステージングされたすべてのものをコミットします。

+0

ありがとうございます。しかし、git-commitレベルですべてのことを行うこともできます。あなたの例を使用して、今日コミットし、作業ディレクトリで作業を継続し、コミットされたスナップショットと作業ディレクトリとの差分を比較し、最後にいくつかのコミットを1つにマージすることができます。 – zell

+0

これを行う方法は複数あります。コミットは「完全」でなければならないというルールがあります。そしてgitでは、 "私的なブランチ"を非常に柔軟にすることができます。また、 "stash"メカニズムもあります。 – Thilo

+0

人々はおそらくこれに同意しないでしょう:いくつかの拡張では、 "git add"は冗長です。 「git add」を使用する利点は、学習者とユーザーの両方に導入される余分な複雑さと比較して、ごくわずかです。 – zell

関連する問題