环境:打算使用oschina的git服务,私有项目
本地有php项目,代码通过git传到oschina的代码库,
php项目的正式服务器通过git从oschina拉取代码,进行线上部署
实现本地测试开发和线上服务器的代码版本管理

本地安装git客户端程序
设置git的user name和email
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。

$ git config --global user.name "xxxxx"

$ git config --global user.email "xxxxxx@xxx.com"

然后为了和oschina通讯,必须设置ssh公钥

SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。

你可以按如下命令来生成sshkey

ssh-keygen -t rsa -C "xxxxxx@xxx.com"# Creates a new ssh key using the provided email

Generating public/private rsa key pair...

查看你的public key,并把他添加到 Git @ OSC http://git.oschina.net/keys

cat ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

添加后,在终端(Terminal)中输入

ssh -T git@git.oschina.net
若返回

Welcome to Git@OSC, yourname!
则证明添加成功。

必须添加成功后,才可以使用oschina的git服务。

在oschina上新建一个项目,本人选的私有项目。

新建项目完毕后,获得该项目的访问地址,一般使用SSH协议,记下git地址,格式: git@git.oschina.net:用户名/项目名.git

本地创建版本库

什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

进入项目目录
通过命令 git init 把这个目录变成git可以管理的仓库
git init 初始化
在目录下会生成.git文件夹

git add . 将项目所有文件加入git暂存区(stage, index)
git commit -a 将文件从暂存区写入版本库中

这样,本地的文件已经由git管理了。

接下来,我们要将本地的代码,上传到远程oschina的git服务器

首先添加远程仓库

要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]:

git remote add oschina git@git.oschina.net:用户名/项目名.git

将本地master分支推到oschina这个远程仓库
git push -u oschina master

若出现错误
failed to push some refs to git

主要原因是oschina中的README.md文件不在本地代码目录中

可以通过如下命令进行代码合并【注:pull=fetch+merge]
git pull --rebase oschina master

执行上面代码后可以看到本地代码库中多了README.md文件

此时再执行语句 git push -u oschina master即可完成代码上传到oschina

在线上服务器,如本地操作一样
安装git
配置sshkey
新建项目目录
git init
git pull git@git.oschina.net:用户名/项目名.git master:master
即可将master分支部署到服务器上