Gitとは
Gitとは、プログラムのソースコードなどの「変更履歴を記録・管理するためのシステム」です。
いつ、誰が、どのファイルの、どこを書き換えたのかを自動で記録してくれるため、「バグが出る前の状態に戻す」「複数人で同時に同じファイルを編集する」といったことが安全に行えるようになります。
Gitで使うための4つの場所
ワークツリー
今実際にVSCodeなどで作業している場所です。
gitを使わずに普通に作業しているところはここです
例えるなら、荷物を段ボールに入れる前の散らかっている状態です
ステージング
次にローカルリポジトリへ保存(コミット)したいものを保存する「一旦保存エリア」です
ワークツリーで変更したファイルのすべての変更を反映したくなくて、「特定の〇〇ファイルだけ保存したいな」というときに、変更したいファイルだけをここに持ってきたりします。
例えるなら、送りたいものを段ボールにつめてガムテープをした状態
ローカルリポジトリ
自分自身のパソコン上にある、変更を保存しておく場所です
ステージングエリアに準備したファイルを、正式に変更として保存(コミット)する場所です
例えるなら、送りたいものを自分の家の倉庫に保管した状態
リモートリポジトリ
ネット上にある、全員の共有倉庫です
ローカルリポジトリで自分が行った作業を最終的にここにアップロード(プッシュ)させて1つのものにする
例えるなら、物置から荷物を運び出し、「配送センター(Amazonの倉庫など)に届けて、みんなが見られるようにした」状態です。
Gitの実際の操作
リモートリポジトリに届けるまでの基本ルート
git add
任意のファイルをステージングに持ってきてあげるコマンド
git add ファイル名
後述するcommitをする前に必ずやる必要がある
コミット
ステージングしたものをローカルリポジトリに持っていくためのもの
git commit -m 'なにかメッセージ'
先ほどのaddを含めて一度で実行するコードもある
git commit -am 'なにかメッセージ'
プッシュ
ローカルリポジトリからリモートリポジトリに反映させるためのもの
git push
mainの状態でpushはやらないほうが良く、後述するブランチを切った状態でpushするのがよいらしい
プル
リモートリポジトリからローカルリポジトリへ持ってくるためのもの
git pull
ブランチ
本番用のコードをぐちゃぐちゃにしないため、ブランチという枝に移って作業する
例えるとゲームのセーブデータのようなもの
基本的には新しい作業を行うたびにブランチを切ったほうがいい
git branch
新しくブランチをつくときはこのようにして作る
git branch ブランチ名
現在どこのブランチにいるか、またブランチにどんな物があるのかを調べるときは
git branch
のみで作ることができる
チェックアウト
別のブランチへの移動をチェックアウトという
git checkout ブランチ名
マージ
あるブランチの変更内容を別のブランチに反映させる手順(mainも含む)
マージの手順
- マージ元のブランチをコミットしておく
- マージ先のブランチへ移動(チェックアウト)
- マージ先のブランチをコミットする
- マージ先のブランチでマージを行う
git merge マージ元ブランチ名
マージするときのブランチは、移したい先のブランチであることに注意
また、プルをすると他の人が作ったブランチもつかえるようになるらしい