基本編はこちらをご覧ください。
本記事は作成した Git 環境をどのように運用していくか説明します。
(応用、と言うより基本編の延長ですね)
Git 環境(clone)は基本編で作成したものを使用します。unity 環境なので、Library や Temp は自動的に作成されました。
なお、test/ で 右クリック > Gitコミット(C) -> "main"...
を選択することを、以後「コミット」と言うことにします。
ファイルを新規追加する
unity 上で新しいスクリプトを作成します。
エクスプローラーではこのように、追加したファイルにチェックマークがついていません。
ファイルを追加する方法は2つあります。(個人的には後者の方が忘れずに済むのでいいと思います)
TurtoiseGit メニューで追加
チェックマークのない2ファイルを選択し、右クリック > TurtoiseGit > 追加 とします。
このように+マークがついていれば追加成功です。
この後コミット&プッシュすれば、+のマークはチェックマークに変わります。
コミット時にまとめて追加する
test/ で 右クリック > Gitコミット(C) -> "main"...
を選択(コミット)
状態が「管理外」となったファイルの中に「NewBehaviourScript.cs(.meta)」があります。
この2つにチェックをつけて、コミット&プッシュします。
成功すると、このようにファイルが追加されます。
追加したくないファイルをコミット欄から消したい
unity 環境においては、Library/ フォルダはコミットしたくありません。
これは unity が自動生成するフォルダなので、履歴を取っておく必要がないからです。
とはいえ、欄には表示されているから間違ってチェックをつけてしまう危険性も…。
こういう場合「無視リスト」に追加すると、以後はコミット欄に表示されることがありません。
Library/ で右クリック > TurtoiseGit > 無視リストに追加 > Library
無視ファイルは .gitignore がおすすめ
.gitignore の正体はただのテキストファイル。手書きで追加することも可能です。
この状態でコミットすると、Library/ が綺麗に消えています。
(Temp/ はまだ無視リストに入れてないので、表示されています)
テキストファイルを編集することで、任意パターンのファイルを無視することも可能です。
(ワイルドカード指定あり)
この場合、それに該当しない UnityLockfile のみが「管理外」として表示されます。
間違って管理外ファイルにしても、テキストから消せば元通り。
ファイルを編集する
先ほど作成した NewBehaviourScript.cs を編集しました。
すると、このようにチェックマークが!マークに変化します。
この状態でコミットすると、!のファイルが青文字で表示されます。
この状態でコミット&プッシュすれば、編集が反映されます。
どこが変更されたか確認する
NewBehaviourScript.cs をさらに変更しました。その時何を思ったか打ち間違えも。
この変更箇所も一発で確認できます。
NewBehaviourScript.cs を右クリック > TurtoiseGit > 差分
左が変更前、右が変更後です。
"unity " と "1" が黄色く表示されており、見事に何を変えたか確認することができます。
TurtoiseGit の設定で、WinMerge などに差分表示プログラムを変更することもできます。
ファイルを消す
今度は NewBehaviourScript.cs を消しましょう。
エクスプローラーで消した後、コミットします。
行方不明、と書いてある状態になんとなく後ろめたいものを感じつつ、このままコミット&プッシュすればファイルは完全に削除されます。
消えてしまったファイルを元に戻す
そうじゃない、間違えて NewBehaviourScript.cs を消してしまったんだ! という場合もあるでしょう。
その場合は test/ を 右クリック > TurtoiseGit > 変更の取り消し を選択。
行方不明の NewBehaviourScript.cs にチェックをつけ、OK すると無事復活です。
今までの変更履歴を行ったり来たりしたい
いつのまにか特定の場面でフリーズしてる…前はなかったんだけど…。
こんな時、昔のバージョンまで戻して確認したくなるかもしれません。
Test/ を右クリック > TurtoiseGit > ログを表示
切り替え / チェックアウト するとそのリビジョンに変更することができるようです。
元に戻すには main を選択して 切り替え / チェックアウト。main の場合「既存のブランチがあれば上書きする」を選択すれば元に戻せました。
ここらへん、正しい使い方を理解していない…参考程度で
以上、ざっくりとですが使い方の説明です。
「習うより慣れろ」で、プロジェクトが小さいうちから適用し、失敗しながら覚えていくのがコツだと思います。
もう少し Git らしい使い方に(私が)慣れてくれば、それらも記事にするかもしれません。
(しばらく先になりそうですが☺)
TurtoiseGit で GitHub を使う記事も書いてみました。よければご覧ください。