日常的Git操作まとめ

大前提の注意

  • 操作しているディレクトリを把握する
  • 操作しているブランチを把握する

リモートから更新: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