恥知らずのウェブエンジニア -web engineer, shameless

これは一歩を踏み出すことができない者たちのブログ

Gitについてまとめる〜基本コマンド〜

バージョン管理にGitを使うことになったので、

使い方等をまとめてみる。

Gitの概要は↓がわかりやすかった

分散バージョン管理システムGitの使い方入門

 

まず今回は基本的な変更のコミットの流れとよく使うコマンドを。

■変更のコミット 

・基本的な流れ
  1. コミットする変更/追加したファイルを指定する
  2. 上で指定したファイルをコミットする
  3. 公開リポジトリにローカルリポジトリの内容を送る
 
 
下のような状態だとすると、
ローカルリポジトリ:/home/project/sample/sample
変更したファイル :/home/project/sample/sample/index.php

 

1.コミットする変更/追加したファイルを指定する

 変更/追加したファイルを指定するコマンドは、[git add]

cd /home/project/sample/sample
git add    /home/project/sample/sample/index.php 

 

2.上で指定したファイルをコミットする

 ファイルをコミットするコマンドは[git commit]

git commit -m "<メッセージ>"

 これでローカルリポジトリに変更がコミットされる

 

3.公開リポジトリにローカルリポジトリの内容を送る

  公開リポジトリへ反映させるコマンドは、[git push]
git push <送信先リポジトリ> <送信するブランチ>
 git clone で作成されたリポジトリの場合、 デフォルトとして 送り先のリポジトリは git clone の元のリポジトリ、 送信するブランチはローカルと公開のリポジトリの両方で 共有しているブランチ全てになっているので 下のように省略可能。
git push

 

・よく使うコマンド

[git init]:リポジトリを作成

git init <ディレクトリ>

<ディレクトリ>内に、.gitが作成され、リポジトリ管理ファイル等が作成される。

指定したディレクトリがない場合は同時に作成される。

 

[git clone]:既存リポジトリのコピーを作成

cd <リポジトリを作成するディレクトリ>
git clone <コピーしたいリポジトリのURL> 

 URLの指定は下のように指定できる。

プロトコル指定方法
rsync rsync://<ホスト名>/<Gitリポジトリのパス>
HTTP http://<ホスト名>[:ポート番号]/<Gitリポジトリのパス>
HTTPS https://<ホスト名>[:ポート番号]/<Gitリポジトリのパス>
git git://<ホスト名>[:ポート番号]/<Gitリポジトリのパス>
SSH ssh://[ユーザー名@]<ホスト名>[:ポート番号]/<Gitリポジトリのパス>
ローカルファイル <Gitリポジトリのパス>もしくはfile://<Gitリポジトリのパス>

 

[git status]:変更されたファイルを一覧表示

git status
git status -s

 -sオプションをつけるとステータスコードを2文字で表示する

 

[git log]:コミットログを表示する

git log
git log <ファイル名>
git log --until=2011-12-25 --since=2011-12-31

・引数にファイル名をつけば、指定したファイルのコミットログを表示

・--until,--sinceオプションで指定した時間でのコミットログを表示

 

[git diff]:作業ファイルとリポジトリとの差分を表示する

git diff
git diff HEAD
git diff <ファイル名>
git diff --cashed

・引数にHEADやコミットidを指定すれば、指定したものとの差分を表示 

・ファイル名を指定すれば、指定したファイル名の差分を表示

・--cashedオプションをつければ、次にコミットする差分を表示

 

[git checkout]:ブランチの切り替え

git checkout  <ブランチ名>
git checkout -b <ブランチ名>
git checkout <ファイル名>

-bオプションをつければ、指定したブランチ名のブランチを作成と切り替えを行う。

<ファイル名>を引数にすれば、指定したファイルを最新の状態の復元される。

・・・・ブランチ、、、ここらへんからよくわからん。。。orz

 

なので、次回はブランチの切り替えとか、reset、rebase、stashとかのしびれる系のコマンドをまとめてみる><

 

 

今回はここまで〜