搭建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本地同步到远程