摘要:本文介绍了笔者多个本地工作节点(地方)的多台电脑(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和源码托管很重要,软件工程是必不可少的。

祝君好运。

多本地代码工作点更新到2个远端GIT仓库的更多相关文章

  1. 在服务器上搭建远端git仓库

    推荐使用运行Liunx的机器 请获取root权限后进行下面操作 安装git # 检查是否安装了git如果有版本号就无需再安装 git -v # 安装git sudo apt-get install g ...

  2. 2018-01-28-M个本地工作点代码同步到N个GIT远端

    layout: post title: 2018-01-28-M个本地工作点代码同步到N个GIT远端 key: 20180128 tags: IT GIT modify_date: 2018-01-2 ...

  3. 【Git/GitHub学习笔记】一键更新多个git仓库至远程

    因为同时在本地维护几个Github的仓库,每次更新后每个仓库要重复三步提交同步,有点麻烦. 发现可以写.sh文件来实现一键更新. 比如我要更新我的BlogBackup和CodeRepo两个仓库的代码如 ...

  4. 上传本地代码及更新代码到GitHub教程

    上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo " ...

  5. github小白上传本地代码及更新代码到GitHub及华为云教程

    上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo "# Test" >> ...

  6. git--编写好代码文件后更新到git仓库流程

    先说一下git仓库分类: Git分为三大部分存储区域1:工作区域(就是你打开编辑器的本地代码仓库)2:提交缓存区域(使用git add 命令暂时放置的区域)3:git远程仓库(使用git push命令 ...

  7. 本地新建git仓库后与远端仓库关联

    背景说明:如果你想把自己的一个项目开源到,需要新建一个本地代码仓库,然后与远端代码库建立关.不想使用git clone 命令去克隆远端新建代码仓库,然后再将我们写好的代码copy到克隆下来的文件夹里, ...

  8. 解决因为本地代码和远程代码冲突,导致git pull无法拉取远程代码的问题

    一.问题 当本地代码和远程代码有冲突的时候,执行git pull操作的时候,会提示有冲突,然后直接终止本次pull,查了些资料没有找到强制pull的方式,但是可以使用如下方式解决. 二.解决思路 可以 ...

  9. 更新Mac OSX XCode后Git 不能使用提示Can't start Git: /usr/bin/git

    更新Mac OSX XCode后Git 不能使用提示Can't start Git: /usr/bin/git 解决办法: 终端运行 sudo xcodebuild -license 同意协议就好了.

随机推荐

  1. Hawk 6. 高级话题:子流程系统

    子流程的定义 当流程设计的越来越复杂,越来越长时,就难以进行管理了.因此,采用模块化的设计才会更加合理.本节我们介绍子流程的原理和使用. 所谓子流程,就是能先构造出一个流程,然后被其他流程调用.被调用 ...

  2. Hawk 4.7 单步调试

    单步调试的意义 已经编写的工作流,可能会因为某些外界环境的变化而出错,此时需要排除错误,我们可以使用单步调试. 单步调试的本质,相当于只使用前n个模块,这样就能看到每个步骤下,流的改变. 例子 还是上 ...

  3. MVC CodeFirst简单的创建数据库(非常详细的步骤)

       最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...

  4. 使用SecureCRT连接虚拟机(ubuntu)配置记录

    这种配置方法,可以非常方便的操作虚拟机里的Linux系统,且让VMware在后台运行,因为有时候我直接在虚拟机里操作会稍微卡顿,或者切换速度不理想,使用该方法亲测本机效果确实ok,特此记录. Secu ...

  5. 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)

    建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...

  6. ajax请求和aspx返回数据

    ajax请求: $(function () {            $.ajax({                url: "index.aspx?method=send",  ...

  7. C#~异步编程再续~await与async引起的w3wp.exe崩溃-问题友好的解决

    返回目录 关于死锁的原因 理解该死锁的原因在于理解await 处理contexts的方式,默认的,当一个未完成的Task 被await的时候,当前的上下文将在该Task完成的时候重新获得并继续执行剩余 ...

  8. 后缀数组的倍增算法(Prefix Doubling)

    后缀数组的倍增算法(Prefix Doubling) 文本内容除特殊注明外,均在知识共享署名-非商业性使用-相同方式共享 3.0协议下提供,附加条款亦可能应用. 最近在自学习BWT算法(Burrows ...

  9. Web开发安全之文件上传安全

    很长一段时间像我这种菜鸡搞一个网站第一时间反应就是找上传,找上传.借此机会把文件上传的安全问题总结一下. 首先看一下DVWA给出的Impossible级别的完整代码: <?php if( iss ...

  10. iOS之应用版本号的设置规则

    版本号的格式:v<主版本号>.<副版本号>.<发布号>  版本号的初始值:v1.0.0 管理规则: 主版本号(Major version) 1.  产品的主体构件进 ...