cafegale(LeafCage備忘録)

LeafCage備忘録(はてなダイアリー)と統一しました。

Gitの更なるまとめ(書きかけ)

関連エントリ

初期化

SN cmd 説明/引数例
init
cl clone {src_repository} [{dst_path}] https://example.com/path/to/repo.git/ path/to/dir

addからcommitまで

addの反対がreset

SN cmd 説明/引数例
a add {file/dir_pat} ., *.txt(このワイルドカードはシェルの機能), file.txt, dir(dir中身全て追加)
an add -n {file/dir_pat} その{file/dir_pat}で何が追加されるか
au add -u [{file/dir_pat}] ciaのciしない版(管理下にあるものの更新)
ap add -p [{file/dir_pat}] 対話的にadd {file/dir_pat}付与でそれ限定
aa add -A [{file/dir_pat}] 新しく追加・削除・変更された、未管理のファイルを追加
r reset addしたのを全消し
r reset {ver} HEADとindexを過去{ver}の状態に cimのciしない版
rc rm --cached {filepat} {filepat}をindexから消す*1
rp reset -p 対話的にreset
ci commit -v (-vで)変更点を表示しながらコミット
commit -c ORIG_HEAD 前の(rsなどで動かされる前のHEADの)コミットメッセージを再利用してci
cia commit -a auしてci
cim commit --amend rsしてci
ciam commit -a --amend rしてauしてci

状態の確認

SN cmd 説明/引数例
st status -s -b -sシンプルに表示 -bブランチも表示
dh diff HEAD ワークツリーとHEADの差分
d diff ワークツリーとインデックスの差分
dc diff --cached インデックスとHEADの差分(次のciする差分)
lg log リポジトリのログ
ls ls-files 管理中のファイル一覧
rg reflog HEADの遷移

私の使うGitコマンドまとめ 見る編 - Log for Backup - Naoki_Rinの学習

リモート

SN cmd 説明/引数例
roa remote add origin {URL} git@github.com:LeafCage/temp.git
pu push -u origin master 初めてアップロードするときに使う
ro remote -v リモートリポジトリの詳細情報
pf push -f origin {local_blanch:remote_blanch} pf HEAD~:master masterのコミットを取り消す

リポジトリをリネーム

SN cmd 説明/引数例
mv mv {src} {dst}
rc rm --cached {src}, add {dst} すでにリネームしていたとき
rou remote set-url origin {URL} remote originのurlを変更
pd push --delete origin {branch} リモートブランチを削除
pf push -f origin {:remote_blanch} リモートブランチを削除

まだ考えてない

rs reset --soft {ver} ciを取り消し{ver}まで遡る。cimのciしない版に近い。HEAD^

統合

SN cmd 説明/引数例
m merge [--no-ff]{branch} [--no-ff]を付けていないとブランチフラグを動かすだけで統合できるなら新しいリビジョンを作らない
cp cherry-pick {ver} {ver}を取り込む
rb rebase {branch}
rbc add ファイル名→ rebase --continue リベースコンフリクト解消させたことを伝えてrebaseを再会する
rba rebase --abort リベースコンフリクト解消させるのをやめてrebase開始前のworkに戻す

マージのコンフリクト解消

SN cmd 説明/引数例
a add ファイル名 コンフリクトを解消したものとして提出
com checkout --merge ファイル名 コンフリクトを初めからやり直す
coo checkout --ours ファイル名 自分側を一方的に採用
cot git checkout --theirs ファイル名 相手側を一方的に採用

gitでブランチをマージした時にコンフリクトを起こしてしまったら | S4U -smile for you-
【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖い情報科学

*1:r HEAD -- {filepat}でも同じ効果gitでアレを元に戻す108の方法 - TIM Labs