最近、Railsチュートリアルをやり始めました。
gitをCUIで操作することが格段に増えたので、
よく使うコマンドについて整理しておきたいと思います。
$ git init
カレントディレクトリを作成するアプリケーションにしておく。
「これからはこのアプリケーションの作成において
gitでのバージョン管理をしますよ」という宣言のようなもの。
アプリケーションを作成し、
gitによる管理をする前に必ず1回のみ実行するコマンド。
$ git add
編集したファイルをステージングエリアに移動させる。
gitでは以下の概念があります
- ワーキングツリー
- ステージングエリア
ワーキングツリー
今自分が編集をしているファイルのこと
ステージングエリア
githubでは変更をコミットする前に、
ワーキングツリーから直接コミットするのではなく
「ステージングエリアに上げる」
という課程を踏む必要がある。
このステージングエリアという概念があることで、
まだ編集中でコミットしたくないファイルを誤って一緒にコミットしてしまった
みたいなことが起きないようにしている。
つまり、編集したファイルをコミットするには、
いきなりコミットするのではなく、
ステージングエリアに上げる→コミット
という流れになる。
ちなみに、
$ git add index.html
index.htmlをステージングエリアに上げる
$ git add -A
全てのファイルをステージングエリアに上げる
$ git commit
ステージングエリアにある変更をコミットする
ちなみに、コミットする際には
「何を変更したのか」をなんとなく推測できるよう、
コミットメッセージを定義することが要されています。
コミットメッセージは例えば
「modify user-function」とかみたいに
わかりやすく、命令形で書く(無理に過去形とかは使用しない)
ということを意識するのが大事。
git commit -m "コミットメッセージ"
で指定するか、
git commit
のみでリターンしてしまった場合は、
そのあとにきちんとコミットメッセージの入力を促されます。
まとめ
スクールのカリキュラムでもGitは使ってきましたが、
GitHubDesktopを使用しており、CUIでの操作はしてこなかった分、
漠然とした理解しかできていない点がありました。
Ralisチュートリアルでは初っ端からガンガンCUIを使っていくので
コマンドそのものだけでなく、概念的な部分もだいぶ
身についてきたと思います。
まだrebaseやstashは使いこなせていないので
今後も慣れていきたいです。