ノンプログラマーのGithub:日常利用とコミットとプッシュの取り消し

弊社ではプログラマー以外のデザイナーもGithubを利用しています。
とりあえずこれだけは抑えておいた方が捗るというコマンドと概念を軽くまとめてみます。

まず pull しよう

git pull

ソースをいじり始める時、まず必ずやっておけというコマンドです。
ソースが更新されるほか、リモートに存在するブランチ情報なども更新されます。

コミットとプッシュの概念

commit
ローカルにGitに送る情報のキューを作る行動。コミットの時点ではリモートに情報は送られない。

push
コミットしているキューをリモートに反映する。

コミットの時点ではローカルの話なので多少間違えても大きな問題にはなりえませんが、プッシュはリモートのソースを更新するので問題に繋がることがありえます。とはいえすぐに戻しや取り消しが効くのがGitの利点なので、正しい取り消し方ができれば問題ありません。

commit の取り消し方

git reset --soft HEAD^

reset コマンドでコミットを取り消します。
「–soft」を入れることでコミットのみ取り消していますが、「–hard」にすると前回コミットの状態までローカルファイルも戻します。

push の取り消し方

git push -f origin HEAD^:***

「***」はブランチ名です。
直前のバージョンを現バージョンに無理やりプッシュするという仕組みです。

Git for Windows を使っている場合 push という表現がありませんが、Sync が push と pull を兼ねています。

add & commit

git add {ファイル名1} {ファイル名2} ...
git commit

コミットしたいファイルを add で指定しコミットします。
正直ファイル一つ一つをaddするのは非常に手間なので、コミットに関しては Eclipse や Git for Windows などGUIクライアントを使った方が良いです。ただしファイルのコンフリクトが発生した場合などは手動でaddしていくケースも発生しうるので留意しましょう。

コミットしたらpushする

git push

コミットしているキューをリモートに送ります。これをしなければ反映されません。