ローカルネットワークのLinuxに中央リポジトリを作ったときのメモ
書いておかないと忘れそうなので備忘録がわりに「unfuddleやgithubなどのホスティングサービスを利用しないでpush先を自前で用意する時」のメモを残しておきます。
状況の前提
色々と制約や条件があったりなかったり。
ここが変だよXXXということもあったりなかったり。
いろいろ降りかかってきます。
CentOSにgitをインストール
現時点で標準のyumにはgitは含まれてないので、下記サイトからyum用の外部リポジトリのrpmをダウンロードします。
CentOSとRHELは同じ。
古いバージョンのOS用も用意されています。
今回はCentOS5だったので「rpmforge-release-0.3.6-1.el5.rf.i386.rpm」を使いました。
rpmforge-release-0.3.6-1.el2.rf.i386.rpm Wed 17 Jan 2007 10 kB Red Hat EL 2.1 - i386
rpmforge-release-0.3.6-1.el3.rf.i386.rpm Wed 17 Jan 2007 16 kB Red Hat EL 3 - i386
rpmforge-release-0.3.6-1.el4.rf.i386.rpm Wed 17 Jan 2007 16 kB Red Hat EL 4 - i386
rpmforge-release-0.3.6-1.el5.rf.i386.rpm Fri 09 Mar 2007 16 kB Red Hat EL 5 - i386
Index of /rpmforge-release
http://dag.wieers.com/rpm/packages/rpmforge-release/
インストールして、軽く初期設定を行います。
この設定は好みかもしれませんが、デフォルトで有効にならないようにしておきます。「enabled = 0」
rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm vim /etc/yum.repos.d/rpmforge.repo
あと、sshでログインするので公開鍵認証をできるように設定をしておきます。
LinuxにGitをインストール
yumコマンドでインストール
# enabled = 0にしたので明示的にリポジトリを指定する yum -y --enablerepo=rpmforge install git
subversionのアップデートやらperlライブラリなどの依存パッケージもインストールされました。
LinuxでのGit関係の作業
Linuxにgit configの設定とgitリポジトリを作ります。
まっさらなリポジトリを作成。
$ pwd /home/sarry_harry/git_rep/hogeproject
$ git init-db
git config初期設定。
Windowsのユーザと合わせておく必要があるようです。
グローバルに作っておく(ユーザに対して.gitconfig)
$ git config --global user.name sarry_harry
$ git config --global user.email sarry_harry@mail.local
またはリポジトリのconfigに追加しておきます。
$ pwd /home/sarry_harry/git_rep/hogeproject/.git
$ vim config
# [core]とかの設定がある
[user]
name = sarry_harry
email = sarry_harry@mail.local
~
~
WindowsでのGit関係の作業
git remote add linux ssh://sarry_harry@192.168.0.100/home/sarry_harry/git_rep/hogeproject # originとしても追加しておくとなにかと便利 git remote add origin ssh://sarry_harry@192.168.0.100/home/sarry_harry/git_rep/hogeproject
pagentなどで鍵を読み込んでおいてから、最後にpushします。*1
git push
Linux側でgit logを実行し、ログが表示されれば完了。
これで、バックアップ&中央リポジトリ(と決めておくだけ)の完成。
さら応用して、git-svnを使ってsvnリポジトリにブランチや随時コミットを行わず、最後にまとめてsvnコミットができそうな感じがします。*2
俺git使ってて良かったよー。と思った瞬間でした。
このメモを再び見る時が来た時、すんなりと設定できるかなぁ?
※参考にしたエントリー
http://ukstudio.jp/2008/07/27/ukstudio_controlled_git/