博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ubuntu搭建git

Posted on 2012-07-03 18:09  Jerolin  阅读(240)  评论(0)    收藏  举报

git 官网:http://git-scm.com/book

自动发送邮件,配置:

将一下配置加在服务器端的.gitconfig里
[hooks]
        mailinglist = “mail列表用逗号隔开”
        envelopesender = "发信人mail地址"
        emailprefix = "[SCM] "  ----信件抬头
        showrev = "git show -C %s; echo"--修改信息
或者 showrev = "git rev-list -1 --pretty %s"简单信息
ln -s /usr/share/doc/git-core/contrib/hooks/post-receive-email .git/hooks/post-receive
chmod 755 /usr/share/doc/git-core/contrib/hooks/post-receive-email

权限管理:

很少有人直接用hook去管理权限的。
小团队,可以直接用git-daemon
稍大一点用gitosis, gitolite. gitolite 是gitosis 用perl重写的,更好用,安全设置更好。
再大一点就用gitorious (github clone 版)

 

 

接著設定 GIT 讓他使用 Meld :

1
git config --global diff.external meld


然後像往常一樣比較某一個檔案:

1
git diff HEAD^ filename

其中 HEAD^ 是指上一個版本。

Meld 會被叫起來,但是會說參數錯誤 "Wrong number of arguments (Got 7)"。 原因是 GIT 會送 7 個參數給 Meld ,但是 Meld 只需要兩個參數,兩個需要比較的檔名。所以不能直接用 Meld ,必須要做一點小修改:

在自己的的目錄下建立一個 git-meld.sh 的 script:

1
vi ~/git-meld.sh


加入以下內容:

1
2
#!/bin/sh
meld $2 $5


改變檔案的屬性:

1
chmod 777 ~/git-meld.sh


然後把 external diff 改成這個 shell script :

1
git config --global diff.external ~/git-meld.sh