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. 前端学习:html基础学习四

    7.HTML表格(主要内容<table><caption><tr><th><td>标记) <table>标记 基本格式 < ...

  2. python库termcolor用法

    termcolor是python中标注文本颜色的库 ANSII Color formatting for output in terminal. 利用termcolor查看log,进行代码调试,清晰标 ...

  3. 基于Flask实现博客开发--准备工作

    背景说明 本项目是基于<深入理解flask>一书,主要是用来记录学习历程和交流心得,所以写得不好请大神勿喷. 准备工作 virtualenv介绍 也许 Virtualenv 是你在开发中最 ...

  4. 关于JS中变量提升的规则和原理的一点理解

        关于变量提升,以前在一些教程和书籍上都听到过,平时开发中也知道有这个规律,但是今天突然在一个公开课中听到时,第一反应时一脸懵逼,然后一百度,瞬间觉得好熟悉啊,差点被这个概念给唬住了,不信我给你 ...

  5. RNN的简单的推导演算公式(BPTT)

    附上y=2x-b拟合的简单的代码. import numpy as np x = np.asarray([2,1,3,5,6]); y = np.zeros((1,5)); learning_rate ...

  6. Java与算法之(12) - 老鼠再闯迷宫(广度优先算法)

    贪吃的小老鼠又回来了,这次有什么新的办法吃到奶酪呢? 规则不变,只能上下左右在格子内移动. 因为上次的深度优先算法让老鼠走了不少冤枉路,这次老鼠带来了帮手探路鼠.探路鼠的使用规则如下: 小老鼠按右.下 ...

  7. linux下vi编辑某文件时,操作出现 错误提示: E325: ATTENTION 2, Found a swap file by the name ".p1.c.swp"

    当我在linux下用vi打开p1.c文件时 root@iZ2zeeailqvwws5dcuivdbZ:~/1/01/指针# vi p1.c 会出现如下信息: E325: ATTENTION Found ...

  8. FineReport父子格实现动态参数注入

    "深入学习FineReport后发现其功能及其强大,之前使用存储过程实现的报表完全可以使用FineReport本身的功能实现. 当你需要的表名,查询条件等均未知的时候,使用"动态参 ...

  9. 学习Spring必学的Java基础知识(2)----动态代理

    Spring AOP使用动态代理技术在运行期织入增强的代码,为了揭示Spring AOP底层的工作机理,有必要对涉及到的Java知识进行学习.Spring AOP使用了两种代理机制:一种是基于JDK的 ...

  10. 浅谈MySQL集群高可用架构

    前言 高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,搜索,消息队列等,每个模块都需要做到高可用,才能 ...