首页 > 代码库 > oschina开源中国的Git服务学习笔记

oschina开源中国的Git服务学习笔记

Github虽然流行,但是由于网络原因访问困难,代码的同步速度也很让人纠结。

幸好oschina(开源中国)也提供了安全可靠的git版本服务,今天就来感受(折腾)oschina的git服务。

 (由于是从有道云笔记直接拷贝过来的,导致图片全部显示不出来,分享连接:http://note.youdao.com/share/?id=97ffdee8693f82b05ec89bd09360fe46&type=note )

注册oschina

 https://git.oschina.net/signup

技术分享

登陆后新建一个项目:

技术分享

 

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

 

技术分享

添加SSH公钥

git客户端下载地址:http://msysgit.github.io/(Git for Windows)

安装后鼠标右键,选择Git Bash ,输入 ssh-keygen  一路回车就可以了。

技术分享?

Windows平台生成的SSH公钥位置一般在:C:\Users\Administrator\.ssh\id_rsa.pub 中。 

id_rsa.pub中的内容全选复制,打开oschina的添加SSH公钥网站:http://git.oschina.net/keys

 技术分享

Oschina有两种公钥管理,一个是上面的SSH公钥,还有一个是部署公钥管理,部署公钥只有只读权限,无法提交代码的!

(可以不把你的公钥添加到部署公钥,只要添加到上面的就可以了)

 技术分享

 

添加完公钥后,我们就可以通过SSH方式获取和提交代码了(SSH比https更方便、更安全,所以我这里使用SSH方式)。

 

克隆远程服务器中的文件

在任意一个盘上新建一个文件夹test,用于同步git.oschina上的代码,打开该文件夹,右键选择git Bash 打开命令窗口,

输入 【git clone git@git.oschina.net:用户名/项目名.git  .】,将git.oschina上的代码克隆到本地

 技术分享

完成后(done)就可以在刚才的文件夹中看见原本在git.oschina上的文件

 

 技术分享

我们修改一下其中的README.md文件,然后同步到oschina的服务器上,右键选择Git Gui,点击工具栏上的 【远端(remote)】中的【Add】,填入任意名字(用于区分不同的项目)和远程项目地址,同时选择Do Nothing, 点击Add,这样就配置了远程服务器信息。

技术分享

 

 

 上传修改后的文件

右键选择Git Gui,会显示修改过的文件内容的前后对比,左边的【未缓存的改动】代表没有提交到本地git暂存区的文件(没有执行git add操作的文件),

【以缓存的改动(将被提交)】代表已经缓存的文件(执行过git add的变动文件和新建的文件),这些文件将在这里等待commit的操作将这些文件一次性全部提交到本地版本库。

我们依次点击缓存改动(git add操作)、签名、提交,这样修改过的文件就提交到本地的版本库了,但是如果想把这写修改过的文件提交到oschina的服务器上,还要点击【上传】。

 

技术分享

点击上传后弹出上传窗口,选择远程版本库,点击【上传】。

技术分享

上传成功!

技术分享

这样就把修改过的文件上传到远程git服务器上了。

 

这里补充一下git本地版本库的结构:

技术分享

 

从远程服务器上获取最新版本文件

当项目组的其他同事将修改过的文件上传到服务器后,我们想要从服务器同步最新版本的代码,这就需要git的fetch(获取)和merge(合并)。

右键选择Git Gui,选择工具栏上的【远端(remote)】中的【从...获取(fetch)】,就要就下载了服务器上最新版本的文件,接着就要把文件内容合并到你的文件中,

其中可能会出现冲突,点击【远端(remote)】中的【合并(merge)】,如果不冲突的话,文件就会自动合并,这样就获取到了远程服务器上的最新代码并且合并到本地版本库中。

技术分享技术分享

 

 

git学习网站:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

 

 学习git不久,所以用界面操作比较多,继续努力!如果错误请多多指教!

 

积极探索未知的世界。 

 

 

oschina开源中国的Git服务学习笔记