回答:
git add
変更したファイルをキューに追加して、後でコミットします。ファイルはコミットされていません
git commit
追加されたファイルをコミットし、ログ付きの新しいリビジョンを作成します...ファイルを追加しない場合、gitは何もコミットしません。両方のアクションを組み合わせることができますgit commit -a
git push
変更をリモートリポジトリにプッシュします。
このgitチートシートのこの図は、ワークフローの良いアイデアを提供します
git add
コミットするための推奨される方法は結合されているため、図にはありませんgit commit -a
がgit add
、フローを理解するために変更ブロックにを精神的に追加できます。
最後に、push
別のコマンドである理由は、git
の哲学によるものです。git
は分散バージョン管理システムであり、ローカルの作業ディレクトリはリポジトリです!コミットしたすべての変更は即座に反映され、記録されます。push
作業中の作業が完了したときにリモートリポジトリ(他のユーザーと共有する可能性があります)を更新するためにのみ使用されます。これは、変更をローカルで(ネットワークのオーバーヘッドなしで)作業および保存し、コミットごとではなく、必要なときにのみ更新するための優れた方法です。これにより、間接的にコミットや分岐などが容易になります(そうではないので、コストはかかりますか?)。これにより、リポジトリをいじることなく、より多くのセーブポイントが得られます。
git add
コミットする準備ができているオブジェクトのステージング領域であるGitインデックスにファイルを追加します。git commit
インデックス内のファイルをリポジトリにコミットします。これは、git commit -a
変更されたすべての追跡ファイルを最初にインデックスに追加するためのショートカットです。git push
保留中のすべての変更を、ブランチがマップされているリモートリポジトリに送信します(GitHubなど)。Gitを理解するには、ドキュメントをちらっと見るよりも多くの労力を費やす必要がありますが、それだけの価値があります。Gitコマンドを直接Subversionにマッピングしようとしないでください。それらのほとんどは直接の対応物を持っていないためです。
「add」が実際に何をするかについて混乱しました。私はGit Proの本から非常に啓発的なパラグラフを読んだだけです。
「Gitは、git addコマンドを実行したときとまったく同じようにファイルをステージングすることがわかりました。ここでコミットする場合、最後にgit addコマンドを実行したときのバージョンのbenchmarks.rbは、git commitを実行したときに作業ディレクトリにあるファイルのバージョンではなく、コミットに入る方法です。git addの実行後にファイルを変更した場合は、git addを再度実行して、ファイルの最新バージョンをステージングする必要があります。」
抜粋:Chacon、Scott。「プロGit。」スプリンガー、2009-08-19T00:00:00 + 00:00。iBooks。この素材は著作権により保護されている場合があります。
addはgitにファイルの追跡を開始するよう指示します。
commitは、ローカルリポジトリの現在の変更をコミットします
pushはローカルレポを上流にプッシュします。
add -in gitは、コミットするファイルをgitに指示するために使用され、ステージング領域にファイルを配置します
commit-in gitはファイルをローカルマシンに保存するために使用されるため、変更を加えたりファイルを削除したりしても、コミットされたファイルを回復できます。
push-ローカルマシンでファイルをコミットした場合、ローカルマシンが失われたり、破損したりした場合でも、ファイルが安全に保たれたり、ファイルを共有したりするために、リモートでファイルを保持したい場合は、ファイルが失われる傾向があります。 Githubのようなリポジトリ。リモートリポジトリに保存するには、pushを使用します
例index.htmlという名前のファイルのステージングgit add index.html
ステージングされたファイルをコミットするgit commit -m 'name of your commit'
Github git push origin masterにファイルをプッシュする