gitに関するメモ

gitの使い方などをメモしていく。随時更新。

ブランチを作る

git checkout 元にしたいブランチ名
git branch -b 作成するブランチ名

今いるbranchをベースに作られる。

ブランチを消す

ローカルブランチの場合

git branch --merged 基準となるブランチ # マージ済みブランチの一覧
git branch -d 対象のブランチ名 # マージ済みブランチの削除
git branch -D 対象のブランチ名 # 強制削除

--merged は基準となるブランチ名を指定しなかった場合は今いるブランチが対象になる。

リモートブランチの場合

git push --delete origin 対象ブランチ名

ブランチ一覧を見る

git fetch
git branch -a

ブランチ一覧をソートして確認する

git for-each-ref --sort=committerdate --format='"%(committerdate:short)","%(authorname)","%(refname:short)"' refs/remotes --merged

--merged : マージ済みブランチのみ出力 --sort=... : ソート条件の指定(committerdateは最終コミット日、他にもobjectsizeなど色々指定できるようだ) --format=...: 出力フォーマットの指定

ブランチをリモートリポジトリに追加する

git push origin リモートに登録したいブランチ名

uオプションをつけるとupstreamに登録してくれるようだ。

git push -u origin リモートに登録したいブランチ名

ブランチを状態を確認する

git status

めちゃ使うやつ

addを取り消す

git reset HEAD target_file

すべて取り消す場合は target_file を . にする。

git submoduleに関するメモ

submoduleを使っているブランチを持ってきた時に最初にやること

git submodule update -i

これで実際にソースコードを取り込める。本体のブランチを持ってきただけだとsubmoduleのブランチのソースコードは持ってこれない。

submoduleをupdateする

git submodule updateだけでは更新されないので、submoduleディレクトリ配下でgit pullするか、

git submodule foreach git pull origin master

毎回調べてる気がするぞこれ

submoduleを削除する

hugoのテーマを変えたいときによくやる。

git submodule deinit path/to/submodule
git rm path/to/submodule