git代码仓库搭建简明步骤
更新:HHH   时间:2023-1-7


零、说明


   本文就以下几个问题来说明:
   1.如何使用git建立仓库。
   2.如何使用git获取代码和推送代码
   3.使用web来查看git仓库代码。


一、如何使用git建立仓库。
建立仓库的步骤很简单,按以下步骤操作即可.
首先创建git组和用户
1.groupadd git
2.useradd git -g git
3.passwd git
4.sudo vi /etc/passwd
默认git用户是没有设置登陆目录,切默认脚本为sh,极不好用。修改passwd,找到git的那一行,修改为:
git:x:1001:1001:git:/home/git:/bin/bash
5.sudo mkdir /home/git
6.sudo chgrp git /home/git
7.sudo chown git /home/git


然后,切换到git用户,建立仓库
#su git
/home/git  #mkidr code
/home/git/code #git init --bare --shared test.git


切换到git用户,配置ssh
/home/git/code #mkdir .ssh
/home/git/code #mkdir .ssh
/home/git/code/.ssh #echo "#">authorized_keys


切换到客户端执行,客户端生成密钥(以cygwin-64为例,cygwin-32位支持不了ssh登录)
$ ssh-keygen.exe -t rsa
一路回车,然后可以看到
/home/raynard.wang/.ssh    (raynard.wang是我个人的用户名录,通常默认ssh-keygen是在用户的目录下生成.ssh目录)
$cd ~/.ssh
$cp id_rsa.pub ../raynard_id_rsa.pub   //用一个id来作为前缀,方便管理员识别而已
将raynard_id_rsa.pub复制到git代码服务器的/home/git/code/.ssh下


切换回服务端,将客户的公钥存入authorized_keys。
/home/git/code/.ssh #echo "#raynard.wang" >>authorized_keys
/home/git/code/.ssh #cat raynard_id_rsa.pub>>authorized_keys
/home/git/code/.ssh #cat authorized_keys
就可以看到用户的公钥已被导入,再有用户,就用这样的方法,将用户的公钥append到authorized_keys。


下面就是切换sudo的用户,将用户的公钥应用起来,以ubuntu为例。
#sudo vi /etc/ssh/sshd_config
找到AuthorizedKeysFile这一行,讲注释去掉,将该行修改为
AuthorizedKeysFile      /home/git/code/.ssh/authorized_keys
/home/git/code/.ssh/authorized_keys就是刚才存放用户公钥的文件
#service ssh restart   //重启ssh服务


接下来就可以给用户使用test.git仓库了。


二、使用git仓库
因为cygwin-32不能作为ssh的终端,所以无法来获取git仓库,这里以cygwin 64为例来说明。
//获取仓库
#git clone git@git_server_ip:/home/git/code/test.git
正克隆到 'test'...
warning: 您似乎克隆了一个空仓库。
检查连接... 完成。
//初始化仓库

#cd test
#echo "hello,world" >readme
#git add readme
#git commit -m "hello,git"
#git push origin master
对象计数中: 3, 完成.
写入对象中: 100% (3/3), 222 bytes | 0 bytes/s, 完成.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.16.3.242:/home/git/code/test.git
 * [new branch]      master -> master


之后就可以直接用git push来上传代码了
//如新增加一份代码test.c
#git add test.c
#git commit -m "add test.c "
#git push
对象计数中: 3, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (2/2), 完成.
写入对象中: 100% (3/3), 292 bytes | 0 bytes/s, 完成.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.16.3.242:/home/git/code/test.git
   6b19c97..93f9071  master -> master


获取代码
#git pull


三、用web方式查看和追踪代码仓库
切换到git用户
#cd code/test.git
#git instaweb -p 8080   //8080为web端口


用浏览器查看
http://172.16.3.242:8080/
172.16.3.242是我测试用ip。


到这里就完成最基本的访问了,更多git命令的使用,如创建tag/branch等,请baidu或google吧。











返回开发技术教程...