Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

自分の知識レベル

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

gisuyama7
インフラエンジニア9年目。セキュスペ/AWS SAA 自社サービスでnode.js/AWSエンジニア
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away