鳥頭なもんで、*あれ、こういう時何を打てばいいんだっけ?*ってよくなるので、備忘録的な。
さーてリモートリポジトリ作ったし今のやつ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
他にも何か「こういうの便利よ!」とかありましたら是非コメントしてみてください。