freelogic's blog

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

M个本地工作点代码同步到N个GIT远端

说明:

摘要:

  • 本文介绍了笔者多个本地工作节点(地方)的多台电脑(PC/笔记本电脑)同步源码到多个远端的GIT(比如国外GITHUB和国内的码云GITEE)。

正文:

  • 本人分享如下的实践经验,供各位参考:
    • 1.本地有4个工作地点(比如:P1,P2,P3,P4),每个地方都可以上网,并能连接到GITHUB和GITEE;
    • 2.远端有GITHUB和GITEE(码云)两个GIT仓库,前者是世界著名但免费project必须设定为公开属性,后者是中国最大且可托管1000个私人不公开项目(每账号5GB空间);
    • 3.因为经常在P1,P2,P3,P4的四个地方的多台PC(或笔记本)上通过eclipse/pycharm等IDE做程序开发,IDE都有插件支持GIT,OS(WIN)也安装了单独的GIT程序(GIT仓库+GIT bash+GIT界面GUI工具);
    • 4.在任何Px工作地点就能直接通过IDE连接2个远端GIT仓库,用账号密码(如果多个账号要考虑WIN的凭据管理,以及考虑用SSH还是HTTPS模式)连接远端git仓库地址,commit,pull,push等;
    • 5.主要流程如下(主要以eclipse为IDE来讲解,同样的操作步骤也适用于pycharm等IDE,但菜单名字和位置肯定不同):
      • 5.1 新建远端GIT项目:
        • a,首先在某个GIT远端仓库新建project(一般可以有初始README文件等,但无任何文件可以方便之后本地直接PUSH第一份代码到远端而无需先pull这个README.MD文件!);
        • b,在本地IDE中(比如eclipse)选“import project”->“GIT”->“project from git”->“Clone URI”,然后填入GIT远端的HTTPS协议GIT仓库地址,类似“https://git.oschina.net/userXXX/projectYYY.git”,填好“user/password”,选好本地项目存放路径(推荐比如“D:\source\git\projectYYY”);
        • c,一路ok下去,你发现它其实是空项目(或只有1个README.MD,所以不是eclipse的标准项目结构,它没有eclipse的.project文件);于是请按照eclipse的建议导入文件,输入上面的project本地路径,完成。
      • 5.2 合并现存项目:
        • a,我们如果有现成部分代码,(也许是eclipse的JAVA项目,或pycharm的python项目),建议将本地项目的src/lib手动拷贝到上述新建的projectYYY项目中,让它在IDE中编译正常后。
        • b,在eclipse中右键此projectYYY选择“Team”->“commit…”,将刚才新放入的文件及目录提交到本地git的缓存index(也叫stage)中,然后才能push到远端;还是右键鼠标菜单,选择“Team”->“Push up to stream”等;
      • 5.3 配置多个GIT远端仓库:
        • a,在上述操作顺利完成后,应该已经推送代码到第一个GIT远端仓库(可以登录远端GIT在线查看对不对)后;
        • b,在“push up to stream”里有一个“URI”配置,可配多个GIT远端(一定要将第一个GIT,和新增加的第二个GIT都加入),下次push就从本地直接默认push到2个GIT远端仓库!
      • 5.3 平时工作:
        • a,除了第一次在某个远端GIT建立new project外,平时在某工作地点Px一般需要先pull拉下最新代码,然后本地Px做开发,commit,push等等;
        • b,只要是同一个人自己开发,merge都是自动的,不应有冲突,除非中间某次自己忘记提交,才有可能冲突!
    • 6.这样的好处是,云盘可以多地点同步无结构的所有文件,尤其是大文件,而代码则用多个远端GIT来同步,这样起到多地备份,不易丢失,还有pages(支持静态网站jekyll框架等)等服务;

祝君顺利.