良く使うgitコマンド、覚えたいgitコマンドを記載していきます。
(随時更新して蓄積していくまとめ記事です)
設定ファイル(config
設定確認
1 2 3 |
$ git config -l or $ git config --list |
アカウント設定
1 2 |
$ git config --local user.name "[ユーザ名]" $ git config --local user.email "[メールアドレス]" |
改行コード変換なし設定
1 |
$ git config --global core.autoCRLF false |
https://normalblog.net/system/git/lf_replaced_crlf/
~/.gitconfigにalias記載
1 2 3 4 5 6 7 8 9 10 |
$ cat ~/.gitconfig [user] name = xx email = xx@xx.com [core] autocrlf = true [alias] st = status co = checkout tr = log --graph --pretty='format:%C(yellow)%h%Creset %s %Cgreen(%an)%Creset %Cred%d%Creset' |
ローカルブランチ編
ローカルでブランチを切る
1 |
$ git branch [ローカルブランチ名] |
リモートリポジトリのブランチをローカルにブランチを切ってチェックアウトする
1 |
$ git checkout -b [ローカルブランチ名] [リモートリポジトリ名]/[リモートブランチ名] |
ローカルでブランチを切る
1 |
$ git branch [ローカルブランチ名] |
ローカルの変更を取り消す(管理対象
1 |
$ git checkout . |
ローカルの管理対象外のファイルを削除
1 |
$ git clean -f |
ローカルの変更を作業ツリーからインデックスへ移動(指定ファイル
1 |
$ git add [ファイル名] |
ローカルの変更を作業ツリーからインデックスへ移動(全部
1 |
$ git add . |
ローカルブランチを削除
1 |
$ git branch -D [ブランチ名] |
ローカルブランチ名変更
1 |
$ git branch -m [旧ブランチ名] [新ブランチ名] |
ローカルブランチ一覧・確認
1 |
$ git branch |
リモートブランチ編
リモートブランチを削除
1 |
$ git push --delete [リモートリポジトリ名] [リモートブランチ名] |
ローカルブランチをリモートブランチにpushする(同ブランチ名
1 |
$ git push [リモートリポジトリ名] [ローカルブランチ名] |
ローカルブランチをリモートブランチにpushする(ブランチ指定
1 |
$ git push [リモートリポジトリ名] [ローカルブランチ名]:[リモートブランチ名] |
ローカルブランチにリモートブランチをpullする(同ブランチ名
1 |
$ git pull [リモートリポジトリ名] [ローカルブランチ名] |
ローカルブランチにリモートブランチをpullする(ブランチ指定
1 |
$ git pull [リモートリポジトリ名] [リモートブランチ名]:[ローカルブランチ名] |
リモートブランチ一覧・確認
1 |
$ git branch -r |
ローカルブランチ、リモートブランチ一覧・確認
1 |
$ git branch -a |
リポジトリ編
リポジトリ作成
1 2 3 |
$ mkdir test.git $ cd test.git $ git --bare init --share |
クローン
1 |
$ git clone test.git |
登録済のリモートリポジトリの確認
1 |
$ git remote -v |
リモートリポジトリとしてaddする
1 |
$ git remote add [任意リモートリポジトリ名] [URL] |
リモートリポジトリのURL変更
1 |
$ git remote set-url [任意リモートリポジトリ名] [URL] |
リモートリポジトリの登録削除(実際のリモートリポが消えるわけではない
1 |
$ git remote rm [任意リモートリポジトリ名] |
リモートリポジトリの最新情報を見られるようにする
1 |
$ git fetch |
リモートリポジトリの最新情報を見られるようにする(消されたブランチも消す
1 2 3 |
$ git fetch --prune or $ git fetch -p |
https://normalblog.net/system/git/initial_commit/
リポジトリをコピーする
1 2 3 4 |
## コピー先リポジトリが準備されている事が前提 $ git clone [コピー元URL] $ git remote add [コピー先任意リポジトリ名] [コピー先URL] $ git push --mirror [コピー先URL] |
マージ編
マージ(コメント付加
1 |
$ git merge --no-ff [マージ先ブランチ名] -m "コメント" |
マージ(コミット直前まで
1 |
$ git merge --squash [マージ先ブランチ名] |
タグ編
タグ作成
1 |
$ git tag testtag |
タグ一覧確認
1 |
$ git tag |
タグを全部push
1 |
$ git push [リモートリポジトリ名] --tags |
無視設定
共有で無視
1 |
.gitignoreに記載 |
.gitignore 該当ディレクトリ配下無視したい場合
.gitignoreに以下を記載
1 |
/test/cache/* |
.gitignore 該当ディレクトリ配下無視したいが例外(.gitkeep)がある場合
ファイルがないディレクトリはコミットされないので.gitkeepという空ファイルを作っておくとディレクトリがコミットされる。でもキャッシュディレクトリなのでゴミが入っている場合などの設定。
1 2 |
/test/cache/* !/test/cache/.gitkeep |
自分の環境だけで無視
1 |
.git/info/exludeに記載 |
履歴
ファイルの履歴
1 |
git blame ファイル名 |
git 容量制限 容量節約方法・ガベージ等
いくつか対応方法があります。やったものを記載しておきます。
ローカルリポジトリをバックアップしておいてからやれば安心です。
容量確認
1 |
$ git count-objects -vH |
ガベージ
1 2 |
$ git gc $ git push origin master |
新リポジトリへミラーリング
1 2 3 4 |
## コピー先リポジトリが準備されている事が前提 $ git clone [コピー元URL] $ git remote add origin [コピー先URL] $ git push --mirror origin |
履歴削除して一新して新リポジトリへ移行
1 2 3 4 5 6 7 8 |
## コピー先リポジトリが準備されている事が前提 $ git clone [コピー先URL] $ cd [新リポジトリ名] ## 新リポジトリ内に既存リポジトリファイルを格納する(この時に画像など不要ファイルがあれば削除する) $ git add . $ git commit -m "initial commit" $ git remote add origin [新リモートリポジトリ名] $ git push origin master |
リポジトリ分割
ディレクトリで分割して管理出来るものは別リポジトリにする。無料サービスでの1リポジトリの制限のためです。
バッチ化
定期ログなどでコマンドを都度打つのが面倒だったのでバッチ化しました。
その他
githubやbitbucketなどの無料サービスをやめてサーバにリポジトリをたてれば、1GBの制限など気にせずすみますので、本来はこれが。
.