Git Tips
チートシート
主にコマンド
Github
PullRequestと連動してissueをクローズ
プルリクエストのタイトルにcloseキーワードを使うとマージ時に自動で関連するissueをクローズすることができます。
code:text
# issue#32をマージとともに閉じたい場合
gitコマンド
サブモジュール含めてclone
code:bash
$ git clone --recursive <URL>
# --resursiveオプションなしでclone後に取得する場合はこちら
$ git submodule update --init --recursive
ブランチ名の変更
code:bash
$ git branch -m <古いブランチ名> <新しいブランチ名>
# 現在のブランチの名前を変更
$ git branch -m <新しいブランチ名>
外部ブランチからのプルリクのチェックアウト
code:bash
$ git fetch origin pull/プルリク番号/head:ブランチ名
ファイル全部追加
code:bash
$ git add -A
コミット
code:bash
$ git commit -m "コミットメッセージ"
取り消し
code:bash
# 直前のコミット取り消し(Windowsは""で囲む)
$ git reset --soft "HEAD^"
# 直前のコミット、ファイルの変更内容もリセット
$ git reset --hard "HEAD^"
コミットの指定方法
直前のコミット
HEAD^
HEAD~
@^
n個前のコミット
HEAD~{n}
HEAD^^^, HEAD~3,HEAD~{3}は同じ意味
コミットID
Releaseやり直し
code:bash
# 削除
$ git push --delete origin 削除するタグ名
Draftに戻るのでReleaseしなお直す。
GitLFS用の設定
ファイルサイズの大きいバイナリファイルを保存する仕組みとしてLFSというものを使用します。
通常のgitはテキスト用なのでLFSを使用してバイナリファイル用の専用の保存先を使う。
とりあえず登録しておくファイル
リポジトリ→GitLFS→リポジトリを初期化(初期化済みなら不要)
SourceTreeのリポジトリ→GitLFS→追跡/未追跡のファイル
追加から「fbx」「png」「otf」「exr」を追加しておく。
これ以外にも必要なら拡張子を追加しておく。追加されてないとコミット時に警告が出るはず
Unity LFS設定
GitLabフォースプッシュ許可
プロジェクト設定→Protected Branchesでmastereブランチの保護を解除する
SourceTreeでコミット時のユーザ情報をリポジトリ毎に替える
画面右上の設定でグローバルユーザー設定のチェックを外す
サブモジュール更新、取得
code:bash
$ git submodule update --init --recursive
リポジトリの追加
フォーク先などからの特定ブランチの取得
code:bash
$ git remote add other-repository git@github.com:Others/hoge.git
# 一覧
$ git remote
# git pull リポジトリ名 ブランチ名
$ git pull other-repository master
Fork元取り込み
code:bash
# Fork元登録
$ git remote add upstream git://github.com/****
# 取得
$ git fetch upstream
$ git checkout main
# 取り込み
$ git merge upstream/main