Git の (ローカルでの) 使い始め方 (ver. 2)
履歴
- 2021-11-01 高橋芳幸 新規作成
目的
ローカルで git を使って管理する. ただし, ローカルの中に管理用 (bare) リポジトリと作業用リポジトリを別に持つことにしてみる. (実際には, 先に作業用リポジトリがあったのだけど.)
- 目指す構成
- 管理用リポジトリトリ (bare リポジトリ) /work02/yot/work/git_repos/radmodels.git
- 作業用リポジトリトリ /work02/yot/work/radmodels.git
基本ユーザ情報の設定 (git を使い始める際に一度やれば良い)
Git の確認 (あまり意味はないが)
$ git --version git version 2.11.0
ユーザ情報の設定
$ 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
ページャの設定 (less が良いらしい. その他の場合には log が文字化けしたりする.)
$ git config --global core.pager less
作業
管理用リポジトリを作成
at /work02/yot/work/git_repos
$ mkdir radmodels.git $ cd radmodels.git $ git init --bare
- 新リポジトリの設定
- 参考ページ
- http://www.gfd-dennou.org/library/dcpam/git_repos/doc/dcpam_git_repo_setup.htm
ディレクトリ移動
$ cd hooks
update フック
$ wget http://www.gfd-dennou.org/library/dcpam/TEBIKI.gitrepos.scripts/update $ chmod 755 update
post-update フック
$ mv post-update.sample post-update $ chmod 775 post-update
- 参考ページ
作業用リポジトリを作成
リポジトリのクローン
$ cd /work02/yot/work $ git clone -v /work02/yot/work/git_repos/radmodels.git
フックの設定
$ cd .git/hooks $ wget http://www.gfd-dennou.org/library/dcpam/dcpam5/dcpam5-git/doc/dvlop/git_scripts/commit-msg $ chmod 775 commit-msg $ wget http://www.gfd-dennou.org/library/dcpam/dcpam5/dcpam5-git/doc/dvlop/git_scripts/pre-commit $ chmod 775 pre-commit $ cd ../..
無視するファイルパターンを登録
@トップディレクトリ (git init したディレクトリ)
$ cat > .gitignore *.[oa] *~ *.so *.dvi *.aux *.idx *.toc depend ^D
(先頭にスペースは入れない.)
最後の ^D は Ctrl-d.
$ git add .gitignore $ git commit -m "Registered files (patterns) to ignore in the repository"
しかし, 単純にこれをやると
Unexpected else.
と言われる.
どうやら .git/hooks/pre-commit の中の if 文で躓いているらしい. (おそらく, 空のリポジトリに commit するときに怒られる.)
ひとまず .git/hooks/pre-commit を外して Makefile だけ commit したら 上手く行う.
$ mv .git/hooks/pre-commit .git/hooks/pre-commit.bk $ git commit -m "Registered files (patterns) to ignore in the repository" $ mv .git/hooks/pre-commit.bk .git/hooks/pre-commit
リリース作業
タグの設定
$ git tag -a radmodels-20210901 -m "Snapshot on 2021/09/01." ^^^^^^^^^^^^^^^^^^ ← これがタグ名となる. $ git push --tags origin master $ git push --tags dennou-k master
git リポジトリに移動
$ cd /work02/yot/work/radmodels.git
展開先ディレクトリ (<path>/radmodels-20210901) を作成
$ mkdir <path>/radmodels-20210901 $ git archive --format=tar --output=<path>/radmodels-20210901/archive.tar radmodels-20210901 ^^^^^^^^^^^^^^^^^^ ← タグ指定 $ cd <path>/radmodels-20210901 $ tar xvf archive.tar $ rm archive.tar $ cd .. $ tar cvfz radmodels-20210901.tgz radmodels-20210901