箱のプログラミング日記。

渋谷の自社開発企業でRails書いてます。

基本的なgitコマンドいろいろ

f:id:y_hakoiri:20191102121704j:plain

最近、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は使いこなせていないので

今後も慣れていきたいです。