推荐一个属于自己的代码控制工具(或者是叫代码托管工具)——GitHub

  提起代码控制工具,很容易想到的就是CVS,SVN。这也是开发团队常用的。但如果想管理只属于自己的代码呢?那它们就不太合适了——因为需要一台服务器啊。

  分享一个好的工具(网站)—— GitHub。它是一个可以上传代码的网站,也有客户端和插件。既可以在本地修改然后上传,也可以直接在网上修改然后同步到本地。这使得管理起自己的代码来更方便。

  这篇文章主要介绍它的Eclipse的插件(EGit)的使用。

  当然,如果你不喜欢插件的方式,你可以使用它的桌面程序。

  不多说了,开始吧!

· 网络部分

1、注册账号

  首先,需要注册一个账号。https://github.com/

2、创建一个资源库

  注册完成后,登录。

  在主界面的右下角有这样一个区域,如图。点击 New repository,创建一个新的库。

  在 Repository name 栏里写上新建库的名字,如“HelloWorld”。其它可写可不写。等你熟悉了再去深究吧。点击下方的 Create repository 按钮。

  OK,网页部分完成了。看看本地需要哪些设置吧!

· 本地部分

1、安装Eclipse插件  

  (1)首先,下载Eclipse的插件

    回到主页面,在页面的下方,会有这样一个区域,如图。点击 Clients 下的 GitHub for Eclipse 。(你也可以看到,有“GitHub for Windows”,那是Windows的桌面程序,和SVN的桌面程序差不多,也很好用的。感兴趣的可以看一下。上传一些文件还是很方便的。如果不是用Eclipse作为开发工具的话,这个就挺好用。)

    在下载页面(http://eclipse.org/egit/download/),选择中间部分的这个链接,如图。其他的那些URL是给Eclipse的在线安装使用的。Eclipse在线安装插件的方式不太好用。建议将插件下载下来,手动安装。

  (2)安装。

    将下载的插件解压后,复制到${MyEclipse}\MyEclipse 10\dropins目录下。(注:Eclipse不同的版本,目录可能不一样,安装插件的方式也可能不一样。)

  (3)一些设置

    重启MyEclipse。点击 工具栏 > Preferences > Team 下多了一个 Git 的分支。

    修改一下“Default repository folder”的值。这是远程的库在本地的一个路径。笔者选择的是MyEclipse的工作目录。

2、创建一Java项目,上传

  (1)新建项目

  接下来新建一个HelloWorld的项目吧。这个就不多说了。

  (2)上传

  项目建好后,选中项目, 右键 > Team > Share Project 。你会看到这样的提示,如图:

  提示缺少环境变量 HOME 。少了咱就加呗!

  右击 我的电脑 > 属性,点击选项卡 高级 > 环境变量 > 系统变量 > 新建 ,如图。在 变量名 中输入 HOME  变量值 建议和上面的“Default repositoryfolder”一样。点击 确定 

  重启Eclipse。

  重复上一步操作—— ShareProject ,这次应该不会再出现上次的提示。在出现的界面中选中 Git ,点击 Next 。在如下的界面中,在红色标注的地方打 √ ,选中项目后,点击 CreateRepository ,点击 Finish 

    选中项目,右键 > Team > Commit ,出现如下图的界面。输入提交的备注信息(Commit message),选中要提交的文件,点击 Commit 

  (注:如果你只是要上传文件,那个“.project”的文件可以不提交,那是Eclipse的一个配置文件,主要作用就是表明这个文件是一个Project。当你用另一台机器下载这些代码时,如果有这个文件,可以用Eclipse直接导入,Import Project)

  如何提交到GitHub账户下呢?

  选中项目,右键 > Team > Remote > Push ,出现如下界面。

  回到GitHub的主页面,点击新建的库“HelloWorld”,在浏览器的右侧出现如下片段,如图。在 Code 栏的最下方提供了不同的下载方式。笔者选择 HTTPS ,复制后面的地址,粘贴到上图中的“URI”栏里。

  User/Password就是你的GitHub的账户和密码。“Storein Secure Store”打 √ 。点击 Next ,出现下图界面。

  a、 选择 Source ref 

  b、 点击 Add AllBranches Spec 

  c、  Force Update 一定要选中。如果不选中,下一步就会报错。这个错在GitHub的Help里可以搜索到,但我没怎么看懂。只知道选中“Force Update”可以避免这个错误。

  d、 点击 Finish 

OK,到你的GitHub的主页面看一下,HelloWorld库里是不是多了些文件?

3、同步

  再看一下如何同步吧!

3.1、 本地修改,上传

  在原先的代码上加上如下2行。

  和上传整个项目时相似,简单说下步骤,不再赘述。

(1)Commit

(2)Push

  在GitHub的主页面,在HelloWorld库里面找到“HelloWorld4GitHub.java”文件,看一下新加入的代码是不是已经更新到库里面了。

3.2、在页面上修改,同步到本地

  在页面上点击 Edit 按钮,加入如下代码

(1)在下方的 Commitmessage 栏里输入你的备注信息,如“Add from Web”

(2)点击 CommitChanges 按钮

  页面上修改完成。

  如何更新到本地呢?

  选中项目,右键 > Team > Pull ,你会发现代码已经更新下来了。

  是不是很棒?!

  以后有什么经典的代码或是想自己想收藏的代码,就上传到GitHub吧!

  不仅可以和其他人共享讨论,而自己也可以随时查看编辑(当然前提是要能联网)。

  赶快试试吧!!

【官方参考文档:】http://wiki.eclipse.org/EGit/User_Guide

(本想介绍下如何将GitHub中已有的库下载到本地,但发现这篇文章已经很长,就另起了一篇,GitHub的使用(下)—— 如何下载一个已存在的 Repository

GitHub的使用(上)—— 创建和更新的更多相关文章

  1. 上传及更新代码到github(以及如何在vscode上提交自己的代码)

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

  2. 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构

    若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配 ...

  3. 在github上创建自己的代码仓库

    git用了很久了,github也用很久了,但一直都是使用别人的项目, 最近想把自己写的一些代码放到自己的帐号上去 以为就是很简单的代码推送,真正做一次时候才发现,原来坑还不少呢, 就把这次的经历记录一 ...

  4. 关于如何在github上创建团队开发环境

    今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...

  5. 在github上创建新分支

    在github上创建仓库: Create a new repository on the command line touch README.md git init git add README.md ...

  6. 在GitHub上创建上传下载开源项目代码

    1.注册GitHub帐号,创建GitHub项目代码仓库 1.1.注册GitHub帐号 在使GitHub之前,需要先登录其官网注册一个免费使用的账号.登录 https://github.com/join ...

  7. github git 在GitHub上创建项目并将本地项目push到网站上

    众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...

  8. 在GitHub上创建代码仓库

    目前在GitHub上管理托管带代码的人越来越多了,今天也尝试了一次,顺便记下来,备用. 首先是在GitHub上创建一个代码仓库,创建完之后,GitHub上会有提示,这时进入项目目录执行下面的命令,顺便 ...

  9. 使用git在github上创建新工程

    这段时间进经常会忘记如何在github上同步工程,于是又得查资料,查参考书,浪费了很长时间,因此有了感触,写几篇有关此类问题的篇章! 这是老手新手都十分容易犯的错误,就是在创建一个新github项目或 ...

随机推荐

  1. 博文&零散信息阅读

    关于培养方案: 全国一线高校.网易云课堂和我院培养计划的区别主要体现在: 基础课上,我院删去了物理课程的必修要求. 专业课上,删去了汇编语言.编译原理.信息安全技术等学科的必修要求. 专业选修课上,我 ...

  2. Ext中如何校验TextField的字段被修改了?

    场景描述:      在form表单中有个sfzhm的字段,需要去后台进行sfzhm是否重复的校验,一开始使用了blur的event来去后台进行校验,后来发现在焦点离开时,及时数据没有发生变化,也会造 ...

  3. BZOJ 1029: [JSOI2007]建筑抢修 贪心

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1029 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落 ...

  4. 【BZOJ】【1019】【SHOI2008】汉诺塔

    递推/DP 类似普通汉诺塔的一个递推(模拟?$10^{18}$没法模拟吧…… 题解:http://blog.csdn.net/regina8023/article/details/43016813 因 ...

  5. Net数值计算MathNet.Numerics类库

    一.Net自带的数值计算:System.Numerics 1.大整数BitInteger 方法:除数和余数.最大公约数 2.复数Complex 属性:实部.虚部.量值.相位 方法:共轭.倒数 二.Ma ...

  6. Coding4Fun.Phone.Controls的使用

    Coding4Fun.Phone.Controls的使用: windows phone的应用一直有一个特色,那就是方块(磁贴).之前的应用中,我一直都XXXX 来实现,原来其实一直有一个更加好的方法, ...

  7. 常量折叠 const folding

    http://bbs.byr.cn/#!article/CPP/86336?p=1 下列代码给出输出结果: #include"stdafx.h" #include <iost ...

  8. UML架构(转载)

    任何真正的世界系统是由不同的用户使用.用户可以是开发人员,测试人员,商务人士,分析师和等等.所以在设计一个系统的体系结构是用不同的角度心态.最重要的部分是从不同的观看者的角度来看,以可视化的系统.我们 ...

  9. ios设备突破微信小视频6S限制的方法

    刷微信朋友圈只发文字和图片怎能意犹未竟,微信小视频是一个很好的补充,音视频到位,流行流行最流行.但小视频时长不能超过6S,没有滤镜等是很大的遗憾.but有人突破限制玩出了花样,用ios设备在朋友圈晒出 ...

  10. PHP合并数组array_merge函数运算符加号与的区别

    两个的区别是:1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数 ...