git

インストール

Windows + cygwin

Linuxに慣れている人やsvnなどと連動する場合はこっちのがいいかも

くらい入れとけば安心。

Windows + msysgit

Windowsのとのツールと連動する場合こっちのがいいかも

MacOSX + MacPorts

sudo port install git-core +svn +doc

p5-io-compressでエラーになったので単体でいれてみて、activateを強制的にせよみたいなのが出たの言われた通りでやったらいけた。

sudo port install git-svn subversion-perlbindings

クライアントツールにはGitXが便利そう
* http://gitx.frim.nl/

設定

git config --global user.name "Makoto Kawasaki"
git config --global user.email "makoto.kw@gmail.com"

リポジトリで別の名前、メールを使いたい場合は

git config user.name "Makoto Kawasaki"
git config user.email "makoto.kw@gmail.com"

と各リポジトリで --global を使わないでやる

Windows + cygwinの場合ファイルモード変更がうざくなるので

git config --global core.fileMode false

をするのが吉。

WindowsとMacOSX/Linuxで並行開発する場合で改行モードを厳密に開発者側で管理する場合

 git config --global core.autocrlf false

をするのが吉

リポジトリの作り方

gitは分散型なのでどこかからとってくるとかはない。
まずローカルにつくる

# mkdir mysite
# cd mysite
# git init

あとはローカルのファイルからgit add, git commitなどでコミットすることで.gitにリポジトリが作成される

subversion-perl

perl 5940 C:\cygwin\bin\perl.exe: *** fatal error -
unable to remap
C:\cygwin\lib\perl5\5.10\i686-cygwin\auto\File\Glob\Glob.dll to same
address as parent(0x8C0000) != 0x950000

この場合、とりあえずよく分からないがCygwin関連のprocessをすべて閉じた後、次のようにすれば解決するらしい。

cd C:\cygwin\bin
ash rebaseall

AraxisMerge

Windows

Git v1.6.4.4 以上でファイルの比較およびファイルのマージに Araxis Merge を使用するには
http://www.araxis.com/merge/scm_integration.html#msysGit

Windowsの場合はツールは普通にインストールされているので
~/.gitconfig(C:\Users\UserName.gitconfigなど)を編集して

[[diff]]
tool = araxis
[difftool "araxis"]
path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe

[merge]
tool = araxis
[mergetool "araxis"]
path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe

毎回toolを起動するか確認するのがうざい場合

git config --replace --global difftool.prompt false

MacOSX

http://www.araxis.com/merge_mac/scm_integration.html#Git

MacOSXの場合は少し面倒で、インストールパッケージ(dmg)を解凍したときにUtilitiesにあるファイルを~/bin(/Users//bin)などにコピーし、パスを通しておく。(最初から/binとかパスが通った場所にコピーしてもよい)

ターミナルから vi ~/.bash_profile を実行し

export PATH=$PATH:$HOME/bin

を追加。

さらにターミナルより以下を実行。

git config --global diff.tool araxis
git config --global merge.tool araxis

毎回toolを起動するか確認するのがうざい場合

git config --replace --global difftool.prompt false