layout: post

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

key: 20180128

tags: IT GIT

modify_date: 2018-01-28

---

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框架等)等服务;

祝君顺利.

2018-01-28-M个本地工作点代码同步到N个GIT远端的更多相关文章

  1. 本地更新代码同步至github仓库

    昨晚在家里写了一个demo放到github上,然后今天晚上来公司准备搞一下,但是git pull下来在本地修改之后push不到github上,然后发现公司电脑上并没有access权限,然后想起来还没配 ...

  2. 2.sublime设置本地远程代码同步

    1.打开编辑器输入框(Ctrl+Shift+P),并执行 2.回车后输入sftp 3.回车个后,右键项目 4.修改配置信息,保存

  3. 如何在mac里面,把xcode代码同步到 tfs 的 git库(新git库)

    克隆篇请参考:http://www.cnblogs.com/IWings/p/6744895.html 在mac安装visual studio code https://code.visualstud ...

  4. 如何在mac里面,把xcode代码同步到 tfs 的 git库(克隆git篇)

    如果是新的git库,还没有任何内容可以克隆,可以参考:http://www.cnblogs.com/IWings/p/6755795.html 在mac安装visual studio code htt ...

  5. 本地项目代码上传至github

    初始化本地目录:git init cd到个人本地项目代码文件目录下,执行git init命令 添加项目文件到本地仓库:git add .   git commit -m "提交说明" ...

  6. github使用及代码同步

    github是近两年比较火的分布式版本控制工具,很多nb的开源项目代码都托管在github上,比如Facebook.JQuery.Node.js等等,这里简单介绍一下github使用方法以及和本地工程 ...

  7. 【记录】git 拉取远程分支代码,同步到另一个git上

    最近有需求从某git 上拉取所有分支代码同步到另一git上,现记录操作步骤,以便日后使用: 1:先克隆其中一个分支代码到本地环境 git clone -b test http://账号:密码@XXX. ...

  8. [转]Android通过NDK调用JNI,使用opencv做本地c++代码开发配置方法

    原文地址:http://blog.csdn.net/watkinsong/article/details/9849973 有一种方式不需要自己配置所有的Sun JDK, Android SDK以及ND ...

  9. php获取网页中图片并保存到本地的代码

    php获取网页中图片并保存到本地的代码,将网页中图片保存本地文件夹: <?php /** * 获取网页中图片,并保存至本地 * by www.jbxue.com */ header(" ...

随机推荐

  1. WebPack-Loader

    Loaders 鼎鼎大名的Loaders登场了! 1.什么是loaders Loaders是webpack中最让人激动人心的功能之一了.通过使用不同的loader,webpack通过调用外部的脚本或工 ...

  2. C#学习笔记-建造者模式

    题目:用程序画一个小人. 实现: public partial class Form1 : Form { public Form1() { InitializeComponent(); } priva ...

  3. Grafana最新版本4.3.1安装(后端使用mysql)

    环境 CentOS release 6.5 (Final) 64bitzabbix_server (Zabbix) 3.0.3 grafana-4.3.1mysql-5.6.21 一.安装grafan ...

  4. 读书笔记《PHP与MySQL程序设计》一

    第1章 PHP概述 1.1  历史(PHP4.PHP5.PHP5.3.PHP6[未发布]) 1.2 一般语言特性(实用性.强大功能.可选择性.成本[开源]) 第2章 环境配置 2.1 安装的前提条件( ...

  5. Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861A k-rounding【暴力】

    A. k-rounding time limit per test:1 second memory limit per test:256 megabytes input:standard input ...

  6. HDU 5752 Sqrt Bo【枚举,大水题】

    Sqrt Bo Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total S ...

  7. A. Duff and Meat

    A. Duff and Meat time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  8. 迷宫问题(bfs+记录路径)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=105278#problem/K K - 迷宫问题 Time Limit:1000 ...

  9. input框type=file设置cursor:pointer的问题

    为了让美化上传文件框,设置了cursor:pointer;,然而不起作用,然后百度找到了解决方法,设置font-size:0,这样就可以了.

  10. 程序员是这样区分Null和Undefined

    Null类型 Null类型是第二个只有一个值的数据类型,这个特殊的值是null.从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof操作符检测null值时会返回"obje ...