Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25917
  • 博文数量: 4
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2016-01-02 18:29
文章分类

全部博文(4)

文章存档

2016年(4)

我的朋友

分类: 项目管理

2016-09-29 10:43:39

服务器:CentOS 6.3               
客户端:虚拟机+CentOS 6.3

看网上的教程都是先新建一个git用户吧, 其实用哪一个用户是无所谓的,我们在此也新建一个git用户和组,以后将所有的git项目全部放在这个git 用户家目录下,以便于管理。

服务器操作
1.adduser git   passwd git 
添加git 用户并设置密码

2.cd /home/git/      git init Test --bare
以root身份进入到git的家目录/home/git下,--bare选项的意思是裸仓库的意思,具体解释在文章下面。

客户端操作
1.cd /home/andy  mkdir test       git init      
与上面--bare的区别,具体在文章下面。

2.新建一个文件并写入内容测试,然后使用git add 和git commit提交


3.执行git remote -v 命令查看服务器端,我这里已经添加了一个,空的情况下使用命令git remote add name git@192.168.37.101:/home/git/test ,  我这里的name取名为git 不写的话默认名字是origin
使用git push 的时候需要指名这个名字所有我这里推送的时候就可以使用git push git branchname 
git remote rm 命令也可以删除一个远端


4.现在我们就可以使用git push命令了,git push git master。OK!



操作中的问题:
--bare
git init --bare 命令所产生的裸仓库是这样的。

再看下git init 命令产生的仓库,包含有一个.git的隐藏目录,而这个.git目录中的内容就是上图中git init --bare所产生的内空。

分析:git init -bare 所产生的目录是裸仓库,只做记录,当你在git init --bare所产生的仓库中执行git status add commit 等改变仓库的操作时会提示错误,如下:

它只做记录,不能更改。所以git log git branch是可以使用的。

操作中的问题:
改变git 用户登录shell变为不可登录   vim /etc/passwd    git:x:501:502::/home/git:/usr/bin/git-shell 禁止git 用户登录。

这样以后在添加项目的时候要使用root用户添加,添加完要一定要记得将仓库的 owner 和owner group变为git 

在之前的步骤中,我们使用命令git remote add git git@192.168.37.101:/home/git/test   指名用户名是git
如果服务器仓库的owner和owner和你指定的不符合的话,当你使用git push等命令的时候会出现权限错误的问题。

操作中的问题:执行git push pull clone 操作不用输入密码
使用ssh-keygen命令使客户端在/home/andy/.ssh/目录下产生公钥id_rsa.pub和私钥id_rsa文件

将id_rsa.pub中的内容添加到服务器下git 用户目录下的.ssh/authorized_keys文件内,没有的话创建一个就可以。
阅读(1424) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~