多本地代码工作点更新到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和源码托管很重要,软件工程是必不可少的。
祝君好运。
多本地代码工作点更新到2个远端GIT仓库的更多相关文章
- 在服务器上搭建远端git仓库
推荐使用运行Liunx的机器 请获取root权限后进行下面操作 安装git # 检查是否安装了git如果有版本号就无需再安装 git -v # 安装git sudo apt-get install g ...
- 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 ...
- 【Git/GitHub学习笔记】一键更新多个git仓库至远程
因为同时在本地维护几个Github的仓库,每次更新后每个仓库要重复三步提交同步,有点麻烦. 发现可以写.sh文件来实现一键更新. 比如我要更新我的BlogBackup和CodeRepo两个仓库的代码如 ...
- 上传本地代码及更新代码到GitHub教程
上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo " ...
- github小白上传本地代码及更新代码到GitHub及华为云教程
上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo "# Test" >> ...
- git--编写好代码文件后更新到git仓库流程
先说一下git仓库分类: Git分为三大部分存储区域1:工作区域(就是你打开编辑器的本地代码仓库)2:提交缓存区域(使用git add 命令暂时放置的区域)3:git远程仓库(使用git push命令 ...
- 本地新建git仓库后与远端仓库关联
背景说明:如果你想把自己的一个项目开源到,需要新建一个本地代码仓库,然后与远端代码库建立关.不想使用git clone 命令去克隆远端新建代码仓库,然后再将我们写好的代码copy到克隆下来的文件夹里, ...
- 解决因为本地代码和远程代码冲突,导致git pull无法拉取远程代码的问题
一.问题 当本地代码和远程代码有冲突的时候,执行git pull操作的时候,会提示有冲突,然后直接终止本次pull,查了些资料没有找到强制pull的方式,但是可以使用如下方式解决. 二.解决思路 可以 ...
- 更新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 同意协议就好了.
随机推荐
- win10 环境 gitbash 显示中文乱码问题处理
gitbash 是 windows 环境下非常好用的命令行终端,可以模拟一下linux下的命令如ls / mkdir 等等,如果使用过程中遇到中文显示不完整或乱码的情况,多半是因为编码问题导致的,修改 ...
- ASP.NET Core HTTP 管道中的那些事儿
前言 马上2016年就要过去了,时间可是真快啊. 上次写完 Identity 系列之后,反响还不错,所以本来打算写一个 ASP.NET Core 中间件系列的,但是中间遇到了很多事情.首先是 NPOI ...
- Redis数据库
Redis是k-v型数据库的典范,设计思想及数据结构实现都值得学习. 1.数据类型 value支持五种数据类型:1.字符串(strings)2.字符串列表(lists)3.字符串集合(sets)4.有 ...
- Android业务组件化之URL Scheme使用
前言: 最近公司业务发展迅速,单一的项目工程不再适合公司发展需要,所以开始推进公司APP业务组件化,很荣幸自己能够牵头做这件事,经过研究实现组件化的通信方案通过URL Scheme,所以想着现在还是在 ...
- 自己实现一个javascript事件模块
nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向 ...
- Windows 常用运行库下载 (DirectX、VC++、.Net Framework等)
经常听到有朋友抱怨他的电脑运行软件或者游戏时提示缺少什么 d3dx9_xx.dll 或 msvcp71.dll.msvcr71.dll又或者是 .Net Framework 初始化之类的错误而无法正常 ...
- CRL快速开发框架系列教程十三(嵌套查询)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- 在centos7上安装Jenkins
在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...
- C# 自定义控件VS用户控件
1 自定义控件与用户控件区别 WinForm中, 用户控件(User Control):继承自 UserControl,主要用于开发 Container 控件,Container控件可以添加其他Con ...