前提
- リモートリポジトリは github
- Fork はしないで、みんな origin で作業をしている場合。
- メインのブランチは master
基本
clone
リモートのリポジトリをローカルに持ってくる。
1 | $ git clone git@github.com:XXX/XXXX {ディレクトリ名}
|
fetch
リモートのリポジトリの全てのブランチをローカルに持ってくる。
branch
ローカルにブランチを作る。
ブランチ名を変更する。
1 | git branch -m {新しいブランチ名}
|
checkout
作ったローカルブランチに移動し、そのブランチで作業する。
status
作業をしたがまだコミットされていないファイルを確認。
add
作業をしたがまだコミットされていないファイルを追加。
commit
手元で行った作業内容を保存。
1 | $ git commit -m"{作業内容(コミットメッセージ)}"
|
push
作ったローカルブランチをリモートに送る。
1 | $ git push origin {ブランチ名}
|
masterブランチに戻る
削除
リモートブランチ削除
ローカルブランチ削除
rebase
ブランチで作業をしている間にその派生元のXXXブランチが更新されたので、XXXブランチの変更を今作業しているブランチに取り込む。
1 | $ git pull --rebase origin XXX
|
コンフリクトが起きた場合
コンフリクトが起きたファイルを開いて、コンフリクトを解消した後、そのファイルを git add
して、
今回のコンフリクトが起きた分の更新は取り込まない場合。
rebase を取り止める。
なかったことにする
commit
commit をなかったことにするが、編集内容は残す。
1 | $ git reset --soft HEAD^
|
commit をなかったことにし、編集内容も削除。
1 | $ git reset --hard HEAD^
|
ファイルの追加忘れ。ファイルを追加した後に、
コミットメッセージ修正。
add
すでに git 管理されていたファイルの場合。
1 | $ git reset HEAD {ファイル名}
|
自分で新規に追加したファイルの場合。
1 | $ git rm --cached {ファイル名}
|
pull
1 | $ git reset HEAD^ --hard
|
rm
1 | $ git checkout HEAD -- {ファイル名}
|
stash pop