纯用SSH管理Git服务器

gitosis等管理git服务器有点小复杂,一般小规模开发没必要用,仅仅依靠Linux的SSH就可以管理了。步骤如下

1 添加用户,并准备公钥私钥

添加用户git,密码也是git

adduser danny
passwd danny
adduser git
passwd git

root用产生公钥在/root/.ssh/id_rsa下面

ssh-keygen -t rsa

然后分别su danny / su git,同样执行

ssh-keygen -t rsa 

回到root下执行

cp /home/danny/.ssh/id_rsa.pub /home/git/.ssh/danny_rsa.pub

cd /home/git/.ssh/

cat danny_rsa.pub >> authorized_keys

cat authorized_keys

rm -rf danny_rsa.pub

chown git authorized_keys

mkdir /home/git/repos

chown -R git /home/git/repos

2 建立测试项目

切换到git用户,进入git主目录,建立testproject.git

su git

cd ~

mkdir /home/git/repos/testproject.git

cd /home/git/repos/testproject.git

初始化git库
git init

设置用户
git config user.email "git@"
git config user.name "git"


在该目录下建立一个test文件,并提交。
vi test

git add test

git add --all 添加所有待添加文件

git commit -a -m "add test"

创建分支,默认的master分支,不允许其他用户提交
git branch develop
查看分支
git branch
切换分支
git checkout develop

3 克隆测试项目

切换到danny用户,进入danny的主目录

su danny

cd ~

git clone git@localhost:/home/git/testproject.git

cd testproject.git

设置用户
git config user.email "danny@xxx.com"
git config user.name "danny"


在该目录下建立一个test文件,并提交。注意此时只是提交到danny目录下的库,并没有提交到git用户目录下的库。
vi test

git add test2

git commit -a -m "add test2"

4 在windows下,使用TortoiseGit连接

在管理员windows机器上通过mysygit的bash命令生成公钥,私钥;在 C:\Documents and Settings\Administrator\.ssh 目录下

ssh-keygen -t rsa

使用 D:\Program Files\TortoiseGit\bin\puttygen.exe,存为putty专用格式

"Load" Administrator\.ssh 目录下的id_rsa

"Save private kay" putty.ppk

同时将公钥中的那行复制到git/.ssh/authorized_keys中

使用TortoiseGit clone一个项目

ssh://git@172.20.x.x/home/git/testproject.git

勾上Load Putty key "C:\Documents and Settings\Administrator\.ssh\putty.ppk"

日常操作时

git pull,git pull develop
解决有没有更新冲突
git push,git push develop

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pswds.html