Gitの使い方忘れないようにまとめた
というかGitの使い方に癖がありすぎて、使い方もすぐ覚えられないのであくまで自分用にまとめました。
gitってどうやって読むにゃん??っていう人なら役に立つかもしれません。
まずは大まかなGitの構造と使い方から。
作業ディレクトリに何か変更点が生じた場合、Git環境を構築していると、変更点をGitが感知してくれます。その変更点を自分の作業場からステージングエリアというところに上げて、それを更にコミットすることによって、ローカルレポジトリというところに上げる事ができます。
ローカルレポジトリから更にGitHubなどのリモートレポジトリに上げると、Web環境でのGit管理ができるようになります。
変更内容を保存したい時のすっごい大まかな流れ
1.空のレポジトリを作る git init
作業を始めたいディレクトリで、以下のコマンドを打つと、Gitの空のレポジトリという場所が作成されます。作業始める前にしっかり作っときましょう。
2.保険のためにbranchを作る git checkout -b hogehoge
何かやらかすとまずいのでまずはbranch(枝分かれ)を作ります。branchは、原本と同じディレクトリ内容を複製し、そこをいじくることによって原本をいきなりいじくるより安全でしょって考えに基づいて使われます(たぶん)。全く同じディレクトリを複製し、それを編集した後、それを原本に合体させて採用するもよし、イマイチな変更だったらそのbranchはバッサリ切り捨て御免で捨てちゃう、みたいな感じの使い方です。
3.作業する
ここで初めて作業を開始します。色々がんばってすごいコードを書いた後は、変更点をGitHubとかにあげたくなりますので(らしいです)、準備段階のステージングエリアに上げましょう。
4.ステージングエリアに上げる git add .
これでcommitが出来る状態になります。忘れるとおこられるし、なにより先に進みません。
5.コミットする git commit -m "hogeをhugahugaしました"
わかりやすいように、コメント付きで変更内容を保存します。
個人で作業するときでも、ちゃんとしたcommit名を付けた方が後で自分を助けます。
6.masterのbranchに戻るgit checkout -b master
これでmasterに戻れるので、先ほどのbranchでの変更内容を完全に採用する場合はmergeしてください。
7.合体 git merge hogehoge
これで原本と複製したものが合体されます。一応、hogehoge branchは残るので、煮るなり焼くなり好きにするといいです。
8.GitHubに上げます git push -u origin master
このコマンドが、GitHubにある、リモートレポジトリのmaster branchにさっきcommitした内容をアップしますよ!って作業に当たります。
-uオプションは、最初に実行したorigin masterを記憶させるためのものです。以後pushコマンドがオプションなし引数なしで実行されたときに役立ちます。
要するに、これ以降はgit push
するだけで自分の作業ディレクトリのmaster branchの内容が、GitHubリモートレポジトリのmasterブランチに必ずpushされます。ひも付けされるってことですね。
以上で、一通りの使い方になります。
先ほども書きましたが、覚え書きみたいなものなので100%は信用しないほうがいいかもしれません。現時点では自分はこう使ってます、ってだけです。
Gitの何が分かりにくいかって、
「自分が今"どこに居て"、”どのブランチ"の"どのファイル"をGitHubのリモートレポジトリの"master"ブランチに上げる」などいろんな選択肢が取れることですよね。
オプションとかもいっぱいあるので便利なんでしょうけど、初学者には結構とっつきづらいですよね。文句ばかりになりました、すいません、もっと勉強します。。。
////////確認編//////////
git log
# => commit状況の確認
git status
# => ステージングエリアの確認
////////削除編//////////
git reset --hard HEAD
# => ステージングエリアからファイルを削除する。HEADは今いるブランチで最も新しいものを指す。reset結構危険らしいです。まだ自分もわかりません。
git revert commitID
commit自体を削除するコマンド?