gitまとめ

よく使うコマンドをまとめ。

使う前にやること

gitの設定
無視するファイルを指定
.gitignore

基本操作

リモート→ローカル

リモートの変更を手元に持ってくる

持ってくるが、ローカルブランチに反映はしない

git fetch
リモートの変更をローカルに反映する

git fetch で持ってきた変更を、ローカルブランチに反映する方法。二種類ある。

方法1:rebase
ローカルブランチで何も変更がない場合に使う。ローカルブランチを、リモートブランチの位置まで進めるイメージ。
対象のブランチ(hoge)に移動した後

git rebase origin/hoge

方法2:merge
ローカルブランチに変更を加えている場合に使う。その名の通り、ローカルブランチにリモートブランチの変更をマージする。
対象のブランチ(hoge)に移動した後

git merge origin/hoge
リモートブランチをローカルにチェックアウトする

リモートのhogeブランチを、ローカルのhogeブランチとしてチェックアウトする場合

git checkout -b hoge origin/hoge
ブランチをDelete & Create

ローカルのhogeブランチを消して作り直す

git co -B リフレッシュしたいブランチ名 取得元
【使用注意】ローカルブランチを、リモートブランチの状態で強制的に上書きする

未コミットのファイルがあっても無視し、強制的にリモートブランチの状態と同等にする
対処のブランチ(hoge)に移動して

git reset --hard origin/hoge

ローカルでの操作

ブランチを作る

ローカルブランチ hoge を作る

git branch hoge

新しくブランチを作り、そのブランチに切り替える
作る→移動するを1コマンドで。こっちのが楽

git checkout -b hoge

masterブランチを元にhogeブランチを作る場合

git checkout master(masterブランチに移動して)

git fetch(変更を持ってきて)

git rebase origin/master(持ってきた変更をmasterに反映して)

git branch hoge(それを元にブランチを作る)
ブランチを削除する
git branch -d hoge
変更されたファイルの一覧を見る
git status
変更されたファイルをコミット対象にする
git add ファイル名
git add を取り消す
git reset HEAD ファイル名
コミット間の差分を見る

コミットの指定はコミット番号で良い。最初の7桁だけで大丈夫らしい

git diff コミット番号 コミット番号
削除したファイルをstageに移動(add)する

削除したファイルは -all オプション付けないと駄目らしい

git add --all 削除したファイル
マージを取り消す

というか一つ前に戻るコマンドだけども

git reset --hard HEAD~
削除したファイルを戻す
git checkout HEAD -- ファイル名

ローカル→リモート

ローカルで作ったhogeブランチをリモートにpushする
git push origin hoge
リモートブランチhogeを削除する
git push origin :hoge
追従ブランチでないものを、リモートブランチにpushする

明示的にpush先を指定しないと駄目

git push --set-upstream origin push先のブランチ