(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>