Gitを使っていく上で知っておくとスムーズに話を進めることができるよ!というコマンドを集めました。
使わないことには覚えようがないのでバシバシ使っていきましょう!
[2015/01/14 追記]
git pull などを追記
リポジトリを複製する
基本形はこれ
git clone
ブランチ BRANCH を持つリポジトリを複製するには
git clone -b BRANCH
現在の状態表示
git status
何をすればよいか、元に戻せるかわけがわからなくなったらこのコマンド叩いて
表示される内容をよく読めばだいたいは解決できるはず。
がんばって英語読みましょう。
pullする
fetch した後に自動的に merge する
git pull
特定のブランチを pull するには
git pull origin (:<ローカルブランチ名>)
pull は fetch と同時に merge が実行されるので、なるべく使わないようにしています。
fetchする
リモートの履歴情報を受信する
git fetch
特定のブランチを fetch するには
git fetch origin (:<ローカルブランチ名>)
リモートリポジトリの最新の更新情報を取得します。
作業ディレクトリには影響ありません。
index にファイルを追加する
## 指定したファイルを追加
git add example.rb
## 拡張子が .rb のファイルを全て追加
git add *.rb
##全てのファイルを追加
git add .
変更点を commit する
## git add で対象とするファイルを指定した後に
git commit -m “"
git commit を「-a」オプションを付けて実行すると
変更が加えられたファイルを自動検出して commit できます。
ただし、この場合新規に作成されたファイルは commit 対象にはなりません
ファイルの差分を見る
git diff
index と working tree の差分を表示します。
新規に作成されたファイルは Git に track されていないので、
新規に作成したファイルはこのコマンドでは表示されません。
次の commit で反映される変更を表示させるには下記のコマンドを実行します。
git diff --cached
index と HEAD の差分を表示するコマンドです。
commit 直前によく実行しますね。
ローカルブランチを新規作成する
git branch <新規作成したいブランチ名>
現在の位置に新規ローカルブランチを作成します。
ブランチの切替は行われません。
ブランチを切り替える
git checkout <既にローカルに存在するブランチ名>
作業ディレクトリが最後のコミットから更新されていると失敗します。
commit かstash をしてください。
ブランチ一覧と現在のブランチを確認する
git branch
リモートリポジトリに送信する
git push origin <サーバーに送信したいローカルブランチ名>
merge する
別の更新作業と合わせる
git merge <現在のブランチに merge したいブランチ名>
よほど大がかりな更新作業でなければ、ログがわかりにくくなるので rebase をしましょう。
相手のブランチの更新を自分のブランチに適用するのであって、
今いるブランチの更新を相手のブランチに適用するのではありません。
rebase する
自分の更新作業を別のブランチのHEADから始めたことにする
git rebase <現在のブランチの根元を持っていきたいブランチ名>
マージと同じく2つのブランチの更新内容を併せるので、
マージのように競合が発生する可能性があります。
一度 push したブランチは rebase して push すると
履歴が二重に接ぎ木されるので rebase してはいけません。
stash する
作業ディレクトリの変更内容を一時的に隠す
git stash
新規作成し、git addでgit管理にしていないファイルはスタッシュに含まれません。
stash した変更内容を再度適用する
git stash pop
競合が発生することがあります。
その場合は merge などと違い、git addで競合を解決済みにするだけで大丈夫です。
ローカルリポジトリのブランチを削除する
git branch -d <ブランチ名>
リモートリポジトリのブランチを削除する
git push origin :<ブランチ名>