大前提の注意
- 操作しているディレクトリを把握する
- 操作しているブランチを把握する
リモートから更新:pull
作業の開始前・開始後はなにはともあれマメにpullして最新にする。
git pull
ブランチ操作:branch
新しい作業は新しいブランチで。
githubでリモートブランチを作り、コマンドでローカルブランチを作り連携する。
git branch branchname origin/branchname
ローカルブランチの一覧を見たければ下記のみ。
git branch
ブランチの切り替え:checkout
作ったブランチに切り替えよう。
git checkout branchname
状態確認:status
コミットする前にローカルリポジトリの状態を見よう。
現在のブランチ名や更新されたファイルがリストアップされる。
git status
更新ファイルのコミット:commit
作業したファイルをcommitしよう。
git commit -a -m "コミットメッセージ"
-a
は更新のあったファイル全てを対象にするオプション。
-m
は続けてコミットメッセージを入れるオプション。
commitしただけではリモートリポジトリは更新されない。
新規ファイルの追加:add
新規追加したファイルをaddしよう。
git add filename
addしただけではリモートリポジトリは更新されない。
更新をリモートに反映:push
commit, addした内容をリモートに反映しよう。
git push
push前のコミットを取り消したい:reset
push前の取り消しであればresetを使おう。
git reset --soft git reset --hard
--soft
はcommitは取り消すがローカルファイルの修正はそのまま。
--hard
はcommitを取り消しローカルファイルも最後のコミットまで戻す。
pushした後のコミットを取り消したい:revert
まずlogコマンドでコミットログを開く。
git log commit xxxxxxxxxxxxxxxxxxxx Author: yamada tarou <yamada@example.com> Date: Fri Jan 9 13:30:07 2015 +0900 コミットコメント
コマンドの後に上記のようなログが返ってくる。
「xxx〜」とした箇所がコミットIDになるのでそれをrevertコマンドに下記のように使う。
git revert xxxxxxxxxxxxxxxxxxxx
対象のpushを取り消してロールバックしてくれる。
ブランチの変更をマージする:merge
例えば modify-branch
の変更を master
に反映させたい場合。
まずマージさせたいmasterにcheckoutしておく。
masterにcheckoutしたら下記のようにmergeコマンドを打つ
git merge modify-branch