Git チートシート
たまにしか使わないやつのメモ
目次
- サブモジュールごとCloneする
- サブモジュールの一部だけを利用する
- サブモジュールの最新に更新する
- リモートリポジトリ(フォルダ)を作成する
- 改行コード変換を無効にする(ローカル設定)
- 過去のファイルを取り出す
サブモジュールごとCloneする
- --recursiveをつけるとサブモジュールも一緒にCloneできる
1git clone --recursive [リポジトリ]
サブモジュールの一部だけを利用する
- sparse checkoutを使って一部しかみないようにする
- submoduleするときはブランチを指定する方がいい。dll参照のときなんかはmasterでいいと思う
1rem サブモジュール追加
2git submodule add -b [ブランチ名] [参照リポジトリ]
3rem sparse checkoutをサブモジュールで適用する
4git -C [参照フォルダ] config core.sparsecheckout true
5rem 設定を.git内に書き込む
6echo [残したいファイル、ディレクトリ] > .git/modules/[参照フォルダ]/info/sparse-checkout
7rem ツリー情報を再読み込みする
8git -C [参照フォルダ] read-tree -mu HEAD
サブモジュールの最新に更新する
1git submodule foreach git pull origin master
リモートリポジトリ(フォルダ)を作成する
- GitHubなど使わず、共有フォルダなどにリモートリポジトリを作成したい場合は、--bare --sharedをつけると作成できる
1git init [フォルダ名].git --bare --shared
改行コード変換を無効にする(ローカル設定)
- このリポジトリだけ改行コード変換を無効にしたい場合
1git config --local core.autocrlf false
過去のファイルを取り出す
- 全部取り出す場合はarchiveを使う
1git archive [コミットIDなど] -o [ファイル名].zip
- 差分だけ出したい場合はdiffを使う
1git diff --name-only --diff-filter=d [コミットIDなど1] [コミットIDなど2]