2 . git add/commitで、ファイル記録
テスト用Repositoriesの作成
1 . インストールと環境設定 (Win&Mac)で作成した実習フォルダをVSCode
で開き、Terminal
を開いてください。
現在の実習フォルダでGitを使うために、以下のコマンドを入力して初期化します。
[Git初期化]
1
git init
初期化が完了すると、実習フォルダに.git
フォルダが作成されたことを確認できます。
これで実習フォルダでGitを使う準備ができました!
.git
が見えない場合は、隠しファイルを見えるように設定してみてください。
git add & git commit 実習
ファイルを作成し、内容を入力します。
実務といえば、コーディングをしたり、リソースを追加する行為になります。
このAwesomeなコードをバックアップしたり、記録をしたい場合は、git add
とgit commit
コマンドを使うことになります。
[Git Add]
1
2
git add ファイル名
git commit -m "メモや作業内容"
これでファイル(Awesome Code)を記録しました!
これからは、現在の状態に戻したり、いつどのような作業をしたか履歴を確認できるようになったので、安心して作業を進めることができます。
追加で、コードを書いてadd, commit
を実践してみましょう!
必要なファイルだけを記録する方法
今まで実習で行った記録をバージョン生成と言います。
ファイルのバージョンを作りたい時(記録したい時)add, commit
をすればいいと言ってましたが、考えてみると、 「1回のコマンドですればいいのに、なぜわざわざ2回のステップが必要なのか?」
という疑問が生じませんか…?
簡単に言うと、全てのファイルを記録する必要がないからです。
例えば、テスト用の画像ファイルがあり、この画像ファイルはバージョンを記録する必要がない場合、add
を使って記録したいファイルだけを選択し、commit
を使って記録します。
git add
: 記録したいファイルを選択
git commit
: 選択したファイルを記録
コマンドごとのGitの状態
git add
をしたら選択したファイルが、Staging Area
へ移動します。
commit
をする前に、commit
をしたいファイルを選択しておいて、これを(Staging Areaにファイルを入れる行為)Staging
と言います。
Repository
は、commit
されたファイルのバージョンたちを保管
する場所になります。
Staging area & repository
この二つはよく使う用語なので覚えておきましょう。
add
とcommit
を一度に行うコマンドもありますが、特に使うことはありません。
[複数のファイルをStaging]
1
2
3
4
# 複数のファイルを同時に、Staging
git add ファイル名1 ファイル名2
# すべてのファイルをStaging
git add .
commit履歴を確認
以下のコマンドで、これまでのcommit
履歴を確認することができます。
一度確認してみてください。
今は見づらいと思いますが、もう少しきれいで見やすい方法は、次回ご紹介します!
[commit履歴を確認]
1
2
3
4
5
6
# 状態確認
git status
# commit履歴
git log --all --oneline
# グラフィックを適用してcommit履歴
git log --all --oneline --graph
Stagingされたファイルをキャンセルしたい場合は
間違いや心変わりなどで、git add
後にStaging
したファイルは、以下のコマンドでキャンセルすることができます。
[Stagingファイルをキャンセル]
1
git restore --staged ファイル名
予想される質問
Q. どのくらいの頻度でcommit
するのが良いでしょうか?
A. ctrl + sを押すように、5秒ごとにcommitする必要はありませんが、簡単な機能を一つ追加する度にcommit
すれば良いかと思います。
例えば、ゲーム開発でキャラクターの操作を作る場合、
- キャラクターのリソースを追加して、commit
- キャラクターのオブジェクトを作成して、commit
- キャラクターの移動機能を作って、commit
このように小さな作業が終わったらcommitすることをお勧めします。
もちろん、3つ全部作ってからcommitする人もいます。(個人の好みによります)
これでGitのadd、commitの実習が終わりました。
次回は、git add、commit、diff
を簡単にする方法について説明します。