Gitコマンドのメモ
gitに関するメモ
gitの使い方などをメモしていく。随時更新。
git logで変更されたファイルを確認する
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
めちゃ使うやつ
addを取り消す
git reset HEAD target_file
すべて取り消す場合は target_file を .
にする。
git remoteに関するメモ
リモートURLの確認
git remote -v
リモートURLの変更
git remote set-url origin new_url.example.com
git tagに関するメモ
tagの一覧を確認する
git tag
リモートのtagの一覧を確認する
git ls-remote --tags
tagの作成
git tag -a v1.0.0 -m"Happy new tag!"
後から特定のコミットにtagをつける
コミットを指定すれば良い
git tag -a v1.0.0 -m"I forgot to add tag!" 9fcxbe2
tagの削除
git tag -d v1.0.0
リモートへのtagの追加
tag作成後にpushする
git push origin v1.0.0
リモートのtagの削除
ローカルで消した後にpushする。この際 :
を忘れないように。
git push origin :v1.0.0
git submoduleに関するメモ
addする
cd path/to/directory
git submodule add https://targetbranch.example.com/
Hugoのテーマを変えるときはthemesディレクトリの下に移動してからやる
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