GitHub的使用(上)—— 创建和更新
推荐一个属于自己的代码控制工具(或者是叫代码托管工具)——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的使用(上)—— 创建和更新的更多相关文章
- 上传及更新代码到github(以及如何在vscode上提交自己的代码)
上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo "# Test" >> ...
- 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构
若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配 ...
- 在github上创建自己的代码仓库
git用了很久了,github也用很久了,但一直都是使用别人的项目, 最近想把自己写的一些代码放到自己的帐号上去 以为就是很简单的代码推送,真正做一次时候才发现,原来坑还不少呢, 就把这次的经历记录一 ...
- 关于如何在github上创建团队开发环境
今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...
- 在github上创建新分支
在github上创建仓库: Create a new repository on the command line touch README.md git init git add README.md ...
- 在GitHub上创建上传下载开源项目代码
1.注册GitHub帐号,创建GitHub项目代码仓库 1.1.注册GitHub帐号 在使GitHub之前,需要先登录其官网注册一个免费使用的账号.登录 https://github.com/join ...
- github git 在GitHub上创建项目并将本地项目push到网站上
众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...
- 在GitHub上创建代码仓库
目前在GitHub上管理托管带代码的人越来越多了,今天也尝试了一次,顺便记下来,备用. 首先是在GitHub上创建一个代码仓库,创建完之后,GitHub上会有提示,这时进入项目目录执行下面的命令,顺便 ...
- 使用git在github上创建新工程
这段时间进经常会忘记如何在github上同步工程,于是又得查资料,查参考书,浪费了很长时间,因此有了感触,写几篇有关此类问题的篇章! 这是老手新手都十分容易犯的错误,就是在创建一个新github项目或 ...
随机推荐
- Codeforces Round #354 (Div. 2) D. Theseus and labyrinth
题目链接: http://codeforces.com/contest/676/problem/D 题意: 如果两个相邻的格子都有对应朝向的门,则可以从一个格子到另一个格子,给你初始坐标xt,yt,终 ...
- BZOJ1565 植物大战僵尸
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1565 这题看上去并不会做,结果又是最大权闭合子图的裸题. 于是就去看了一发论文,明白建图的 ...
- Asp.net 导入Excel(服务器不带Office)
#region 把excel文件转换为DataSet. /// <summary> /// 把excel文件转换为DataSet. /// </summary> /// < ...
- 服务器NPC的ID如何分配的
服务器ID分配包括NPC,Monster,Pet的ID分配都是调用allocateUID然后自动保存的ID加一,pet说是通过玩家的ID移位获得的,调试一下发现还是调用allocateUID,如果通过 ...
- 操作集合的工具类Collections
1 操作集合的工具类Collections Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操 ...
- HDU-2604_Queuing
题目:Problem Description Queues and Priority Queues are data structures which are known to most comput ...
- 关于java调用linux shell 的问题
问题的提出: shell脚本要做离线的数据处理任务 java调用脚本,将这种处理任务封装成webservice 特点: shell处理单个时间长 每次要处理文件量大 这里目前只做调用分析: 原来的: ...
- MVC模式在游戏开发的应用
原地址: http://www.cocoachina.com/gamedev/2012/1129/5212.html MVC是三个单词的缩写,分别为:模型(Model).视图(View)和控制Cont ...
- 表单很多数据项录入的时候,提交controller发生异常,数据回显。
1.添加的情况(Model传递Form Data) request.getSession().setAttribute("car", car); //抛出异常的时候,数据回显. 2 ...
- iOS自定义发送消息输入框
简单的封装了一个,免得麻烦直接初始化就可以用了 ,有其他需求该里面参数就行了 WJEasyInputTextView.h , CGRectGetHeight([UIScreen mainScreen] ...