Linuxとコマンドラインの基礎
Gitで git commit を実行したが、チームで共有している GitHub のリポジトリには、そのコミットがまだ表示されていない。理由として、正しいものはどれか。
- Agit commit は変更をステージングエリアに登録するだけで、記録するには git add が必要だから
- Bgit commit した変更を共有のリポジトリに送るには、git pull を実行する必要があるから
- Cgit commit は手元のリポジトリへの記録で、リモートに送るには git push が必要だから
答えと解説を見る
正解:C. git commit は手元のリポジトリへの記録で、リモートに送るには git push が必要だから
Gitは分散型のバージョン管理システムで、各開発者の手元にリポジトリ全体があり、git commit はその手元のリポジトリに変更を記録します。GitHub などのリモートリポジトリに送るには git push を実行し、逆にリモートの新しいコミットを手元に取り込むには git pull(または git fetch と git merge)を使います。そのため、ネットワークにつながっていなくてもコミットはでき、後でまとめて push できます。ほかの人が先に push していると、先にその変更を取り込むよう求められることがあります。
- A. git add と git commit の役割が逆です。add でステージングし、commit で記録します。
- B. git pull はリモートの変更を手元に取り込むコマンドで、手元のコミットを送るのは git push です。
- C. 正しい。commit は手元への記録で、push でリモートに送ります。