鳥頭なもんで、*あれ、こういう時何を打てばいいんだっけ?*ってよくなるので、備忘録的な。
さーてリモートリポジトリ作ったし今のやつpush
するぞー
git init
git add .
git commit -m "First commit."
git remote https://github.com/[UserName]/[Repository].git
git push -u origin master
ローカルリポジトリを作成してからリモートにpush
するまでの一連の流れ。
githubなんかに書いてますよね。
やっべ、そのコミット間違ってる!!
git reset --hard HEAD^
よくやらかすやつ。
HEAD(直前のコミット)のひとつ前に戻る、というやつですね。
あー、今のadd
ちょっと微妙だな。取り消そう
git reset HEAD
変更内容のリセットではなく、ステージングをしていない状態にするやつ。
一気に編集しすぎたな…小分けにしてadd
しよう
git add -p
全て一気にadd
するのではなく、部分的に確認しながらadd
するかどうか決定できる。
diff
時の画面が出てきてStage this hunk [y,n,q,a,d,/,s,e,?]?
と聞かれるので、ここでadd
するかどうかをコマンドで決定する。
-
y
: 今みている部分をadd
-
n
: 今見ている部分はスキップ -
q
:git add -p
する直前に戻る -
a
: ここから先ぜんぶadd
-
d
: ここから先ぜんぶスキップ -
s
: 今見ている部分をさらに小分けにする
よく使うのはこのあたりでしょうか。
マージめんどくさい…一旦マージ前まで戻そう
git merge --abort
pull
とかしたは良いものの何故かコンフリクトが出てマージしろって言われた時に。
コンフリクト?うるせえリモートが絶対的に正しいんだよ黙ってよこせ!
git fetch
git reset -- hard origin/master
手元でいろいろいじくり回した結果「いややっぱりリモートの状態に戻そう」って時、ありません?
貴様(ブランチ)はもう用済みだ…何、コミットしていない内容?知らんがな
git branch -D dev01
ブランチを消去したいがgit branch -d dev01
ってやると、コミットしていない内容がある時に削除できないんですよね。
強制的に消したい場合は、-d
を大文字で。
git log --all
じゃ見づらいんだけど!!
git log --graph --all --decorate
git log
だと、ブランチが増えてきた時に見づらくなるのでわりと見やすくなるオプションを追加。
gitk -a
使えばいいじゃんってツッコミはなしの方向で。
git chekout master
…git checkotu master
…タイプミスううう!!!
vi ~/.gitconfig
[alias]
co = checkout
br = branch
graph = log --graph --all --decorate
checkout
とかよくタイプミスするんですよね、長いし。
ユーザーホームにある .gitconfig を編集することで、短縮コマンドを登録することができます。
ひとつ上にあるgit log --graph --all --decorate
とかものっそい長いので、こうやって登録しておくとgit graph
だけで表示できるので、とっても楽。
gitk -a
使えばいいj(ry
他にも何か「こういうの便利よ!」とかありましたら是非コメントしてみてください。