add
gitとpush
の違いは何ですかcommit
?
SVN から来たので少し混乱しています。SVN では、「更新」は「追加」され、コミットは「プッシュ」されて「追加」されます。
git にはさまざまな機能があります。あなたの経験に基づいた説明を期待しています。
ベストアンサー1
git add
変更したファイルをキューに追加します後でコミットするファイルはコミットされていませんgit commit
追加されたファイルをコミットし、ログ付きの新しいリビジョンを作成します...ファイルを追加しない場合は、gitは何もコミットしません。両方のアクションを組み合わせることができます。git commit -a
git push
変更をリモート リポジトリにプッシュします。
この図はこのgitチートシート作業の流れがよくわかる
git add
コミットの推奨方法は を組み合わせた であるため、図には は表示されていませんが、フローを理解するために、変更ブロックに をgit commit -a
頭の中で追加することができます。git add
push
最後に、が別のコマンドである理由は、git
の哲学によるものです。git
は分散バージョン管理システムであり、ローカル作業ディレクトリはリポジトリです! コミットしたすべての変更は即座に反映され、記録されます。push
は、作業中の作業が完了したときに、リモート リポジトリ (他のユーザーと共有する可能性がある) を更新するためにのみ使用されます。 これは、ローカルで作業して変更を保存し (ネットワーク オーバーヘッドなし)、コミットのたびに更新するのではなく、必要な場合にのみ更新する優れた方法です。 これにより、間接的にコミット/ブランチなどが容易になり (なぜそうしないのでしょうか? コストはいくらですか?)、リポジトリをいじることなく、保存ポイントが増えます。