gitの使い方などをメモしていく。随時更新。
git log --name-only
その他にも --stat
, --numstat
, --name-status
などで確認できる。
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
めちゃ使うやつ
git reset HEAD target_file
すべて取り消す場合は target_file を .
にする。
git remote -v
git remote set-url origin new_url.example.com
git tag
git ls-remote --tags
git tag -a v1.0.0 -m"Happy new tag!"
コミットを指定すれば良い
git tag -a v1.0.0 -m"I forgot to add tag!" 9fcxbe2
git tag -d v1.0.0
tag作成後にpushする
git push origin v1.0.0
ローカルで消した後にpushする。この際 :
を忘れないように。
git push origin :v1.0.0
cd path/to/directory
git submodule add https://targetbranch.example.com/
Hugoのテーマを変えるときはthemesディレクトリの下に移動してからやる
git submodule update -i
これで実際にソースコードを取り込める。本体のブランチを持ってきただけだとsubmoduleのブランチのソースコードは持ってこれない。
git submodule updateだけでは更新されないので、submoduleディレクトリ配下でgit pullするか、
git submodule foreach git pull origin master
毎回調べてる気がするぞこれ
hugoのテーマを変えたいときによくやる。
git submodule deinit path/to/submodule
git rm path/to/submodule