Git memo
随時追記して行きます。
- git fetch: ローカルにあるリモートブランチの追跡内容を最新のものに更新する。
- git fetch --all: すべてのリモートブランチの追跡内容を最新にする。
- git branch: ブランチ情報を取得する。
- git branch BRANCH_NAME: 現在のブランチから新しいブランチを作成する。
- git branch -d BRANCH_NAME: ブランチの削除(リモートブランチは削除されない)
- git branch -D BRANCH_NAME: ブランチの強制削除(リモートブランチは削除されない)
- git branch BRANCH_NAME origin/BRANCH_NAME: ローカルにないリモートブランチをローカルに持ってくる。
- git checkout BRANCH_NAME: 作業ブランチを変更する。
- git checkout -b BRANCH_NAME: ブランチの作成とチェックアウトを同時に行う。
- git push --set-upstream origin BRANCH_NAME: リモート側に同名のブランチを作る。
マージ
git checkout master
git merge BRANCH_NAME
これでmasterブランチにBRANCH_NAMEブランチをマージする。
競合が起きたときはコンフリクトするので、
ファイルを開いて直して、
git merge --continue
リベース
コミットを綺麗にしたいとき。
他の人が同時に作業していたときに不整合が起きる可能性あり。
git checkout BRANCH_NAME
git rebase master
これでBRANCH_NAMEブランチにmasterブランチをリベースする。
masterの変更がBRANCH_NAMEの変更の下に入るので、
コンフリクトを直して、
git rebase --continue
その後
git checkout master
git merge BRANCH_NAME
これでfast-fowardの綺麗なコミットになる。
コミットし忘れたファイルがあった場合
git commit --amend
コミットメッセージを変更する必要がないときは
git commit --amend --no-edit
マージの取り消し
git merge --abort
--abort
オプションでだいたいのコマンドは取り消しできる。
ローカルの変更取り消し
git checkout .
強制プッシュ
git push -f
他の人の変更が無効になるので、十分気をつけること。
コミットを取り消したいとき
git reset --hard HEAD^
コミットを取り消したいが、ファイルの変更は残したいとき
git reset --soft HEAD^