你的位置:首页 > ASP.net教程

[ASP.net教程]多本地代码工作点更新到2个远端GIT仓库

摘要:本文介绍了笔者多个本地工作节点(地方)的多台电脑(PC/笔记本电脑)同步源码到2个远端的GIT(一个GITHUB国外强制公开,一个oschina国内可不公开)。

作者:太初

转载说明:请指明原作者,连接,及出处。

 

正文

大多数IT工作者,或者直接点程序员,总是上网查资料,往往会提2种问题:

A.自己有个想法X,查看网上是否有类似经验的人,告知这条路,这个方法是否走得通?X是否可行?(期望得到答案,少走弯路,怕浪费精力)

B.确认想法X或方法可行,但苦于不知道细节,只能查网络资料,比如到博客园看看(期望找到STEPBYSTEP的良心贴,指导自己用最小的代价完成任务)

 

本帖,主要目的是完成A,因为笔者不太善于清晰的表达和文档工作,我时间也有限,但如果可以,稍微给出些B方面的提示也尽量能达成。

 

我个人通过查资料和实践,达成如下情况,供各位有A类疑问的参考:

1.我本地有4个工作地点(比如:P1,P2,P3,P4),每个地方都可以上网,并连接到GITHUB和GIT.OSCHINA.NET;

2.我有GITHUB和git.oschina.net(码云)两个GIT仓库,前者是世界最著名但免费一定要公开项目,后者是中国最大可托管1000个私人不公开项目;

3.我经常在P1,2,3,4的四个地方的6台PC(或笔记本)上通过eclipse做以JAVA为主的程序开发(程序开发是为了研究问题,比如数学,数据分析,计算等),eclipse上安装了GIT的插件,无需在WIN等操作系统下单独安装GIT(GIT仓库+GIT界面GUI工具),直接通过eclipse的GIT插件就能连接2个远端GIT仓库,用它们的账号密码,连接它们https协议的git仓库地址,提交代码push,下拉同步代码pull;

4.主要流程:

4a. 初建空项目:首先在某个GIT远端仓库建立项目(可以有初始README文件等),在eclipse中的“import project”->“GIT”->“project from git”->“Clone URI”,然后再dialog中填入这个GIT远端的HTTPS协议的git仓库地址,类似“https://git.oschina.net/userXXX/projectYYY.git”,并填好“user/password”,eclipse会自动解析,只要仓库地址正确,账号密码有效,就会解析出master分支,选好本地路径(我推荐比如“D:\source\git\projectYYY”),并一路ok下去,最终你发现是空项目,因为它是新建的项目,并不是一个eclipse能解析的项目(没有eclipse的.project文件)。于是你按照eclipse的建议导入文件,输入上面的project本地路径,完成。

4b. 合并现存项目:往往我们不是从零开始,本地有一个原型项目和一些代码了(也许是eclipse项目),建议你将本地项目的src/lib手动拷贝到4a中新建的空项目,然后让它在eclipse中编译正常,没有红色感叹号,也没有红色大叉。然后再eclipse中右键此projectYYY出现鼠标菜单,选择“Team”->“commit...”,将刚才新放入的提交到本地git的缓存index(也叫stage)中,然后才可以push到远端;没问题就提交了,还是右键鼠标菜单,选择“Team”->“Push up to stream”。

4c. 配置多个GIT远端仓库:在保证4b顺利完成,推到第一个GIT远端仓库(可以通过IE登录在线查看push的对不对)后,在“push up to stream” 里面有一个“URI”配置,可以配置多个GIT远端(这里你一定要将第一个GIT,和新增加的第二个GIT都加入),下次push就从本地push到2个GIT远端仓库!

4d.平时工作:除了第一次在某个远端GIT建立new project外,平时,另一个工作地点P1都可以直接pull拉下来最新的内容;只要是同一个人自己开发,应该merge都是自动且成功的,不应该有冲突,除非中间某次自己忘记提交,才有可能冲突!

5.这样的好处是,不用再用“无结构的云盘”或更无法管理的U盘来同步代码。而且是能将代码同步到一个国内最大,一个国外最大的代码托管在线GIT仓库。只要有网络,随时可编程,非常好。另外注意GITHUB免费试用是无任何空间时间数量限制,只是必须要开源公开,请特别注意,不要放入敏感信息!

 

源码弄不好,coding就不舒服,搞好环境,弄妥build和源码托管很重要,软件工程是必不可少的。

祝君好运。