集美大学 计算机 郑如滨

教学博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

大致流程:

  1. 建立远程仓库。
  2. 建立本地仓库并与远程仓库关联。
  3. 有两种方法:
    • 在Eclipse中import远程项目;
    • 将Eclipse中的项目提交到本地仓库,然后push到远程仓库。

一. 配置Eclipse EGit

图解Eclipse中安装及配置EGit插件中的配置EGit
user.name配置为你的学号或者姓名,user.email配置为你在gitee上注册的邮箱。

二. 建立远程仓库,建立本地仓库然后将其与远程仓库相关联

1. 注册、登录、建立项目java学号

首先点击页面上方的+创建项目。注意:下面的初始化暂时先不要选。

项目创建后,就在码云上建立了远程仓库。然后点击复制获取远程仓库的url

2 将Eclipse中的项目与码云上的远程仓库建立关联

Eclipse菜单Window-Show View-Other,输入Git Repositories,打开相应视图。如下图所示:

该图显示本机上已有多个代码仓库,我们现在需要在Eclipse中新建一个本地仓库与在码云上的远程仓库建立关联。
在该视图下ctrl+v,显示下图,输入码云上的邮箱与密码:

在接下来的页面更改Directory,选定本地仓库的位置:

本地仓库创建好以后,显示如下,这里有多个本地仓库,如果你还没有建过本地仓库,这里应为空:

到这步已在本地仓库与远程仓库建立了关联。接下来要将Eclipse中的项目提交到本地仓库进而提交到远程仓库。
右键点击Eclipse中的项目,依次选择Team-Share Project-Git,选择你创建的仓库,点击Finish

三. 提交(commit)、克隆(clone)、推(push)

1. 提交代码到远程仓库

现在在项目中可以提交(commit)对代码的更改到本地仓库,进而push到码云上的远程仓库。
右键点击项目,依次选择Team-Commit,在下面的界面中输入Commit message、选择相应的需要提交的Files,然后
点击Commit and push(提交到本地仓库并且push到远程仓库),如果选择Commit仅仅提交到本地仓库。
注意:Eclipse项目中.classpath、.project、.settings、.class、.jar文件均无需push。可将其加入.gitignore文件以进行忽略。

提交的过程中如果出现错误,可以先提交(Commit)到本地仓库,然后再将本地仓库'push'到远程仓库。
push到远程仓库的方法: 右键点击项目,依次选择Team-Push branch...。如果成功推送,码云上将会有相应文件,如图:

以后如果对代码有所修改,需要'Commit and push'才能将代码提交到远程仓库。
在宿舍可将远程仓库中的代码clone到本机,详见下面参考资料。 将整个项目clone下来后,以后使用pull就可以将远程仓库的代码到本机的Eclipse项目中。
使用重要提示:
使用Git来管理你的代码时,当你在本机Eclipse项目中开始编写新的代码之前,一定要先将远程仓库的最新代码pull到本机,这可以降低冲突发生的可能。

2. 将码云上的项目clone到你的电脑

假设你的Eclipse还没有码云上建立的项目,现需将码云上的项目clone到你的电脑,有两种方法:

方法1:在Eclipse直接import码云上的项目(推荐)

  1. 复制码云上相关项目的URL。
  2. Eclipse中,File-import-Git-Projects from git-Clone URI,然后输入步骤1中的URL

方法2:先建立本地仓库与远程仓库的关联,然后从本地仓库import项目

  1. 复制码云上相关项目的url。
  2. Eclipse上,依次点击Window-Show View-Other,添加Git Repositories视图
  3. 在该视图上ctrl+v将码云上的项目clone到本地
    现在本地仓库与远程仓库(码云上的仓库)有了关联。但在Eclipse中还没有项目与该本地仓库关联
  4. 将本地仓库中的项目导入(import)到Eclipse中
    • 依次点击File-Import,选择Git-Projects from Git
    • 选择Existing local repositories(现有的本地仓库),然后选择相关的项目,根据提示一步步操作,最终建立好项目。

3 将项目中代码的改动与新增文件提交与push到码云仓库(远程仓库)

原理描述:

经过上述步骤,你已经将Eclipse中的项目与本地仓库相关联,进而与码云上的远程仓库相关联。
现在你可以将项目中代码的改动提交(Commit)到本地仓库,并进而push到远程仓库。
注意:Commit仅仅是将代码提交到本地仓库,你的代码改动仅仅存储在本地上。一定要push,才能将本地仓库的内容到远程仓库。

具体步骤

假设你在Eclipse项目中添加Main1.java Main2.Java,修改Main.java,见下图。这些文件并没有放到本地仓库中,而只是存储在Eclipse项目中。

现在发现Main2.java写错了,不需要提交,而只需要提交Main1.java和Main.java
右键点击项目,依次选择Team-Commit,会出现下图:

选中Main1.java和Main.java,右键点击选择Add to Index,将文件加入index区,在右侧的Commit Message输入相关的提交信息,如添加了Main1.java,主要完成题目1,改成了Main.java中导致程序崩溃的bug
然后点击Commit and Push,就可以将这些改动Commit到本地仓库,并进而Push到远程仓库。如果仅点击Commit,则只是将代码提交到本地仓库。

四. 实验室、宿舍之间代码同步最佳实践

不要为每次实验建立一个项目,然后同步到代码仓库中。这样过不了多久,代码库中就堆满了项目,管理起来很不方便。
推荐只建立一个项目,项目名需包含你的学号,每次实验的代码放到不同的包(package)中。
比如,第1次实验放到ex01包,如下图所示:

如果为了方便区分1次试验内不同题目的代码,可以进一步将其放入ex01的子包ex01.birthdate这样的包中
这样管理起来更加方便,减少仓库不同步的可能。

参考资料

命令行下使用Git见下面两篇文章

Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(1)
Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(2)

其他参考资料:

利用eclipse的git插件EGit与git@osc交互

posted on 2017-02-27 22:32  zhrb  阅读(8510)  评论(4编辑  收藏  举报