(DCPAM の) Git (リポジトリ) の使い方

履歴

  • 2015-03-16 高橋芳幸 (https://www.gfd-dennou.org/arch/ruby/products/gphys/develop/git_repo_setup.htm を基に新規作成)

基本ユーザ情報の設定 (git を使い始める際に一度やれば良い)

Git の確認 (あまり意味はないが)

> git --version
git version 1.7.10.4

ユーザ情報の設定

> git config --global user.name yot
> git config --global user.email "yot _AT_ gfd-dennou.org"

Git の出力に色を付ける (らしい)

> git config --global color.ui auto

使用するエディタの設定

> git config --global core.editor "emacs -nw -q -l ~/.emacs-utf8"

日本語ファイル名を使えるようにする (らしい)

> git config --global core.quotepath off

ページャの設定 ((DCPAM リポジトリでは) less が良いらしい. その他の場合には log が文字化けしたりする.)

> git config --global core.pager less

クローンを作成

ローカルの適当なディレクトリ (git_repos とする) に clone を作成.

> git clone -v <repository> <directory>

<repository> のクローンを <directory> ディレクトリに作成する. <directory> は省略可.

<repository> は下のように指定可 (以下ではどちらも <directory> を省略).

  • リモートにあるリポジトリ (ssh でのアクセス)
> git clone -v host.xz:/path/to/repository
  • ローカルにあるリポジトリ
> git clone -v /path/to/repository
  • ブランチを指定して clone を作る > git clone -v -b <branch> <repository> <directory>

更新作業

更新したファイルをリポジトリに反映させるには,

  • インデックスへの登録
  • commit
  • リポジトリへの反映

の手順を踏む. ただし, commit まではローカルで済む作業であり, 通常はここまでで良い.

更新したファイルのインデックスへの登録

> git add -m "comment" <file name>

or

> git add <file name>

後者の場合, commit ログを入力するためにエディタが立ち上がる. commit ログを入力しない場合, commit は拒否される.

インデックスに登録された更新を取り消す

> git reset HEAD <file name>

更新を commit する

> git commit <file name>

push する

> git push origin master:master

(ふたつの master のうちの前者はローカル, 後者はリモートブランチを表すらしい. 参照)

tag を(他の commit とともに)push するには --tags が必要. 

 > git push --tags origin master:master

commit 済み push 前更新を打ち消す

> git reset --soft HEAD^

--soft の時, ワークツリーは変わらない.

or

> git reset --hard HEAD^

--hard の時, ワークツリーも元に戻る (ファイルが戻る)

or

git log で commitID を確認して commitID で指定.

> git log
 ...
> git reset --hard <commitID>

この意味は, commitID の位置に HEAD が移動する.

なお, 打ち消した commitID 以降の変更がすべて打ち消されるので注意

commit ログを修正する

> git rebase -i

タグ関連

タグの追加

> git tag <tag name>

タグの削除

> git tag -d <tag name>

タグを (共有リポジトリに) 反映させる

> git push origin --tags

アーカイブ

Git リポジトリ内で

> cd <repository>
> mkdir ../<archive dir>
> git archive --format=tar --output=../<archive dir>/<file name>.tar <tag>

<tag> は最先端の場合は HEAD とすればよい.

ブランチ

最初に, "A successful Git branching model" のページへのリンクを示す.

日本語 |英語

ブランチを表示

> git branch

リモートも含めて表示

> git branch -a

ブランチの作成とチェックアウト

ブランチを作成してチェックアウト

> git checkout -b <branch> <start point>

作成とチェックアウトを分けてやる

> git branch <branch> <start point>
> git checkout <branch>

git branch のみでは HEAD は移らない.

ブランチの削除

> git branch -d <branch>