_images/git.png

Git 覚書

_images/git.png

Gitコマンド覚書

後半へ→  応用編

1. 基本コマンド

コマンド 機能
init リポジトリ初期化
status リポジトリの状態確認
add ファイルをリポジトリに登録
commit 登録されているファイルの変更をリポジトリへ反映
log コミットログの表示
reflog 作業ログの表示
diff 差分の表示

2. ブランチ操作

コマンド 機能
branch ブランチの表示
checkout -b ブランチを作成して切り替える
merge ブランチのマージ

3. コミットを変更する操作

コマンド 機能
reset 前のブランチへ戻る

4. リポジトリ操作

コマンド 機能
push ローカルリポジトリをリモートリポジトリへ反映
fetch リモートリポジトリからローカルへ変更を取得
merge/rebase  
pull fetch + merge/rebase

C. チュートリアル

利用イメージ

digraph foo { "add" -> "commit" -> "push"; }

$ git init
$ git add *
$ git commit -m "initial import"

こんな感じです。

リモートリポジトリからクローンを作成して始めるには clone コマンドを使います。

$git clone <uri>

または

$git clone https://github.com/YYYYYY/XXXXX.git


(sshの場合)

$git clone ssh://user@hostname/path/to/repos

gitoliteを使う場合は以下を参照してください。 http://git-scm.com/book/ja/Git-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-Gitolite

作業フォルダに入り、init コマンドでリポジトリの作成をします。

$git init
add コマンドでgitで管理するファイルを追加します。
ワイルドカードで一括指定も可能。 コンパイルオブジェクトファイルなど中間ファイルを登録しないように注意。
$git add <filepattern> ...

また、エディタで編集したあとのコミットも add コマンドで行います。

$git add --all <target>

ファイルを修正した場合も add コマンドを使います。

git rm <file> ...

指定したファイルの実体とリポジトリ登録が同時に削除されます。

git commit -m <msg>
-m はコミットのコメントメッセージを指定するオプション。ない場合にはエディターが起動します。
起動したエディターに変更しないで閉じると、コミットはキャンセルされますのでご注意。
git commit -a

「-a」オプションを付けて実行すると変更が加えられたファイルを自動検出してコミットできる。

※ add , commit がわかりにくいので後で追記予定

前の状態にもどすには reset コマンドを使います。 ややこしいので、テスト用のリポジトリでどのような動作なのか実行&確認して理解しましょう。

git reset [--mixed | --soft | --hard | --merge | --keep ]  <commit>

つかいやすいようにHEADというコミットIDへのエイリアスが定義されています。

git reset HEAD   最新のコミット位置
git reset HEAD^  最新の1つ前のコミット位置
git reset <commit id>  特定のコミット位置

オプション指定でさらに細かく動作を指定します。

option HEAD index working tree
–soft O    
(no option) O O  
–hard O O O
git config remoto.origin.url <url address> であらかじめリモートサーバーを登録します。
このとき、url指定を https://<username>/<repository_url>/ とするとpushする際にユーザー名の入力を省くことが出来ます。
git config remote.origin.url https://<username>@bitbucket.org/<username>/<repository_name>/

git push -u origin master




後半へ→  応用編











end

_images/git.png
<F2>
前半へ→  Gitコマンド覚書

Indices and tables