您好,登录后才能下订单哦!
零、说明
本文就以下几个问题来说明:
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吧。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。