gitの使い方がさっぱりわからないので整理してみる

自分の知識レベル

CVSを多少触ったことあるレベル
gitについては、学びはじめた始めたばかりで何もわからない

gitを使ってしたいこと

Laravelを利用そたPHPアプリで以下のことをしたい

1.バージョン管理
2.プロダクション環境へのデプロイ

1はいいとして、主にやりたいのは2の内容。
自分で契約したVPSにリモートリポジトリを構築し、そこに更新を加えることで、プロダクション環境も更新される仕組みを作りたい。

gitの用語整理

リモートリポジトリ

cvsやSVNでいう所のリポジトリと同じ
リモートにあるリポジトリ
ただし、自身のローカルに作ることも可能

ワーキングツリー

cvs的にいえば、チェックアウトしてきたプロジェクト
cvsとは異なり、履歴や管理情報を丸ごとコピーしてくる
リモートリポジトリをローカルにバックアップするようなイメージ?

ローカルリポジトリ

リモートじゃなくて、ローカルにあるリポジトリ
ワーキングツリー
自分でブロジェクトを始め、ローカルに保存するのであれば、リモートリポジトリ=ローカルリポジトリのリポジトリが1つできる。

ステージングエリア(index)

コミットする前に、どのファイルをコミットするか選択した情報を保存している場所
複数のファイルが更新されている場合に、コミットすべきものを決められる

コミット

ワーキングツリーにコミットする
cvsとは異なり、リモートリポジトリに反映はしない

push

ワーキングツリーにコミットした内容をリモートリポジトリに反映すること

origin

デフォルトではリモートリポジトりを指す

master

ブランチを切っていない状態でできるデフォルトのブランチ
ブランチを切っていなければ、ワーキングツリーとイコールになる

origin/master

リモートリポジトリをローカルに保存したもの(ブランチ)
gitでは、リモートからクローンしてくることで、origin/mastertができる。
それと、作業用のmasterができる。
masterの変更点はorigin/masterと比較することで表示されている(と思われる)

gitのコマンド整理

git init

カレントディレクトリでバージョン管理を開始する。

git add

バージョン管理対象になっているディレクトリにおいて、変更点をインデックス対象にする
git add ファイル名 ファイル名を個別に指定
git add . 変更されているファイルを全て対象に指定

git commit

インデックス対象のファイルを全てワーキングツリーにコミットする
git commit -m "コミットメッセージ"

git push

ワーキングツリーの変更をリモートリポジトリにコミットする
git push [リモートリポジトリ] [ブランチ]
git push だけにするとoriginリポジトリについて、ローカルのマスターをリモートのマスターへ反映するという意味になる。

git clone

リモートリポジトリから、丸ごと持ってくる

git diff

ワーキングツリーにどのような変更を加えたかを表示する

git status

以下の3つの状態を表示する。
-ステージングとして選択されたファイル
-コミット済みのファイル
-どちらも行なっていないが変更が発生しているファイル

当初目的の実現

デプロイの実現は、ここでは書ききれなかったので、別の記事で記載予定

参照

http://dqn.sakusakutto.jp/2011/10/git_push_origin_master.html
https://nekosoftware.wordpress.com/2015/02/03/git%E3%81%AE%E3%81%B5%E3%82%8F%E3%81%A3%E3%81%A8%E3%81%97%E3%81%9F%E7%9F%A5%E8%AD%98%E3%82%92%E8%AA%BF%E6%9F%BB%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/
https://qiita.com/osamu1203/items/cb94ef9da02e1ec3e921

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.