今天又研究了一天git,最后终于搞定了,首先搭建好git服务器后需要将代码转移到自己的git服务器,步骤如下:

1.将代码打包上传到git服务器上面
2.解压代码后,运行下面的命令
$ git clone –bare my_project my_project.git
Cloning into bare repository ‘my_project.git’… done.
3.将 Git 目录数据的副本复制到git服务器的仓库目录下:
$ cp -r my_project.git user@git.example.com:/srv
4.更改git仓库目录下面的权限
chown git:www-data project.git/
5.加入client端公钥,client就可以直接clone git服务器上面的代码了
$ git clone user@git.example.com:/opt/git/my_project.git

如果某个 SSH 用户对 /opt/git/my_project.git 目录有写权限,那他就有推送权限。如果到该项目目录中运行 git init 命令,并加上 --shared 选项,那么 Git 会自动修改该仓库目录的组权限为可写(译注:实际上 --shared 可以指定其他行为,只是默认为将组权限改为可写并执行 g+sx,所以最后会得到rws。)。

$ ssh user@git.example.com
$ cd /opt/git/my_project.git
$ git init --bare --shared

client生成公钥的命令:
ssh-keygen  -t rsa 一路回车后就会生成id_rsa  id_rsa.pub文件,将id_rsa.pub复制到git服务器,然后运行下面命令,将公钥加入到git服务器,client就可以上传代码到git服务器了。
cat id_rsa.pub >> /home/git/.ssh/authorized_keys

client还需要设置自己的用户名和密码,这样就能知道是那个用户更改了仓库代码了

git config --global user.email "myemailid@domain.com"
git config --global user.name "my name"

PS:这2条命令可以再git GUI中配置:
编辑—>选项
QQ图片20141120182719

git client GUI操作:
用的是官方Git-1.9.4-preview20140929,win7安装过后会再鼠标右键添加:git init、git GUI、git Bash,如果git server的库里面有数据,首先打开git Bash
QQ图片20141120182253

克隆下代码后,然后在用git GUI来管理,打开一个版本库
QQ图片20141120182520
QQ图片20141120182624
最重要的一步,更改项目中的文件后需要提交,
vim file
首先重新扫描,会发现改动的文件显示在上面:
QQ图片20141120183049
菜单选择提交—>缓存修改的文件为提交,会发现文件跑下面来了,然后点击提交:
相当于命令行: git commit -am ‘fix for the README file’
 QQ图片20141120183321
最后上传,下面框框的位置要注意了,上面的master代表是你本地的代码库,这里显示的目标版本库是前面需要定义的,
QQ图片20141120183403
相当于命令行:git push origin master
选择远端–>add 会出现下面的对话框,名字就是上面截图框框里面显示的名字,下面的localtion:git@gitserver:/srv/xxx.git,然后点击Add,会出现添加完成,那么在上面的对话框目标版本库里面就会显示这个名字了,选中后上传,完成代码的修改。
QQ图片20141120184103
相当于命令行:
git remote add origin git@gitserver:/srv/project.git
如果远端是一个空的git库的话,需要上传一个文件上去,命名行操作如下:
cd myproject/
echo “this is test” >> file
git init
git add file
git commit file -m ‘initial commit’
git remote add origin git@gitserver:/srv/project.git
git push origin master
开始测试时候本地库跟远程的库不一样,上传这里老是报错,应该先clone下来远程的库,然后修改后在上传到远端git server,这样就不会出现问题。
好了,先总结到这里,到时有空搭建下gitlab在总结。

git服务器配置与搭建

公司开发前段时间连接github老是断线,需要自己搭建git服务器,只用过github,但是没有搭建过git服务器,Google了下相关资料,参考git官方文档搞起:http://g...

阅读全文