搭建Git本地服务器

搭建Git本地服务器 

参考文章:http://www.ossxp.com/doc/git/gitolite.html

当前任务,学习中... 公司小范围用法:  服务器上做的:
1.在服务器上建立一个用户,这里命名为git。 centos下:  useradd  op —— passwd op 1 (改密码为1)
2.找个目录,建立空仓库 git --bare init 。 centos下6.5: 
cd /home/op
mkdir base
cd base
git --bare init
3.建立文件夹project.git (名字随便取,这里取project,以后别人git clone时就会生成project文件夹)。
4.再建立一个文件夹.ssh,用来存入需要访问的成员的 ssh-keygen
————————————————————————————————————————

项目成员机上要做的: 
1.生成本机的ssh-keygen:直接运行 ssh-keygen ,回车,回车。生成的密钥会在window下: “C:Documents and SettingsuserName.ssh”,有两个文件,复制id_rsa.pub的内容给服务器管理员(邮件或直接QQ吧!)。
2.轮到服务器管理员:在.ssh文件夹下建立 id_rsa.pub 文件 , 或直接:cat ~/opt/.ssh/id_rsa.pub 加成员的id_rsa.pub内容 (反正添加到这个文件后面就可以)
3.下面小组成员应该可以正常访问服务器了(对了,在此之前,需要安装ssh服务器 : apt-get install ssh)

项目组老大要做的:
1.    做一个基本项目原型,供项目成员克隆下载 , 将已有文件推送到git服务器上
2.    新建文件夹,git init 初始化git 。
3.    git add *    将所有文件加入git 监控  ,可以用git status 查看监控状态
4.    git commit -m "你的提交说明"
5.   git remote add origin op@yourServerIP:/home/op/base/project.git   (这里是将远程git服务器命名成origin,方便以后使用,名字随便改)
6.  推送到服务器   git push origin master   意思是 : git 推送 到  服务器目录 哪个分支—master 。 至此,完毕。

项目成员基本步骤:
1.git clone op@yourServerIP:/home/op/base/project.git    完成仓库克隆工作
2.做该做的事,
3.git commit -a -m "你的提交说明"
4.git remote add origin op@yourServerIP:/home/op/base/project.git
5.git push origin master 上传分支。

当然,还有更多的分支使用技巧...请参考以下书籍:
Pro.Git-zh_CN
Git Community Book 中文版

 下面是本人在使用git过程遇到的问题:
1.git服务器把文件藏在哪了呢?
答:在objects文件夹下。查看文件的方式:不用进入目录下,直接用git cat-file -p 短目录名(如0e)+文件名前n位即可



仓库创建
1.   本地新建一个git仓库
git --bare init
如果是需要作为服务器仓库的,推荐加—bare,否则以后其他仓库push代码到此仓库时会有一些麻烦。
具体可以参考:http://hi.baidu.com/mengdaant/item/62dc182908bf25f950fd87ff

添加文件
git add . // add all
git add \*.txt  // add all txt file
添加文件后,直接git commit就完成了仓库创建。


2.   本地克隆一个远程仓库
2.1 克隆远程仓库
git clone  <name> <url> <directory>
这里,name可以不写,默认origin
directory也可以不写,默认使用远程git一样的根目录名。

2.2  添加远程仓库
git remote add  <name>  <url>
name可以任意取。 url必须是确实存在的git仓库。

3.git pull从远程获取最新版本并merge到本地。

4.git push本地同步到远程
原文地址:https://www.cnblogs.com/timssd/p/4350240.html