Eclipse 配置 GitHub

软件配置

操作系统: win10 企业版
软件配置: JDK:1.8.0_241; eclipse:Oxygen.3a Release (4.7.3a);git:version 2.15.0.

一、环境准备

1.安装eclipse,具体步骤点击此链接
2.注册一个github账号
3.eclipse配置git信息
Window-->Preferences-->Team-->Git-->Configurationt>Add Enty...-->第一次配置,弹出框k框填写两项值:key:user.name,value:你的名字;key:user.email,value:邮箱账号(最好与github注册邮箱一致)-->Apply and close
在这里插入图片描述
如果没有上图git选,则需要安装git,步骤如下:
eclipse ->help->install new software -> add -> 弹出框name:git location:http://download.eclipse.org/egit/updates/ -> 下载完成后会提示重启eclipse
4.配置SSH
第一步:eclipse配置SSH
Window -> preferences ->general ->Network Connection -> SSH
在这里插入图片描述
第二步:如上图操作之后会生成一个id_rsa.pub文件,然后登陆github,点击setting如下图配置SSH and GPG keys>>输入自定义title值,key值输入id_rsa.pub文件的文件内容
在这里插入图片描述

二、新建仓库

1.浏览器打开github网站并登陆,再次点击New repository,如下图输入一下信息,点击create...绿色按钮,新建一个仓库
在这里插入图片描述
2.获取github仓库地址
在这里插入图片描述
具体步骤参照此链接

三、创建项目

1.点击空白处>>New>>Other
在这里插入图片描述
2.新建一个python项目
在这里插入图片描述
3.输入工程名称>>点击“”Finish”完成项目创建
在这里插入图片描述
4.新建一个py文件
在这里插入图片描述

四、提交项目到本地仓库(Git)

第一步:右键项目--> Team--> Share Project...
在这里插入图片描述
第二步:弹出框操作步骤如下
在这里插入图片描述
第三步:右击项目--> Team--> Commit...
在这里插入图片描述
第四步:选择可提交的内容,点击Commit按钮,完成提交本地仓库操作
在这里插入图片描述

五、提交项目到远程仓库(Github)

第一步:右键项目-->Team-->Remote-->Push...
在这里插入图片描述
第二步:输入github仓库地址、用户名、密码,点击Next
注意:勾选上图Store in Secure Store 复选框,可记住Github用户名及密码,下次无需再输入
在这里插入图片描述
第三步:选择master>>点击Add Spec>>force update打勾>>点击Finish,完成远程仓库提交
在这里插入图片描述
完成提交,本地项目与远程项目图
在这里插入图片描述

六、获取项目

第一步:右键空白处 >>import>>import,搜索框里面输入git,选择Projects from Git>>选择Next
在这里插入图片描述
第二步:选择Clone URL(翻译过来就是克隆url,就是把远端github仓库的项目复制到本地)>>Next
在这里插入图片描述第三步:输入github仓库地址,用户名、密码>>点击next
在这里插入图片描述
第四步:选择你下载项目存放位置,选择你的项目的本地存放目录,一直点击next,最后finish
在这里插入图片描述

七、问题

7.1 问题:Eclipse里git提交冲突rejected – non-fast-forward

如下图显示
在这里插入图片描述
原因:
Eclipse里commit代码,其实只是提交到本地仓库,需要push才会提交到远程的git仓库,这时是一个本地仓库到远程仓库的同步过程。Git是分布式的,每个人在本地仓库维护本地的自己的那一份代码,commit时只提交到本地仓库,不会影响到别人。当你push到远程仓库就可能发生冲突了。假如别人在你push前也push了同一个文件,那么问题就来了,冲突了,rejected – non-fast-forward出现了。
解决方法一:
每次本地修改代码前先从git仓库pull下想要提交的分支的最新代码,改完了commit并push到git仓库。这里有个前提,修改、commit和push期间没人动你修改的文件。
解决方法二:
期间文件在git仓库被改了,那么重新从git仓库获取最新的分支代码,然后把自己的修改放上去提交。
解决方法三:
通过merge来解决冲突。当出现rejected – non-fast-forward别慌,这时我们可以识别哪些文件有冲突,一个一个改,改好了再pull下最新代码,然后提交到远程仓库。
下面具体说明下提交操作:
1、单个文件提交:首先跟远程仓库做比较,右键修改的文件和目录->Team->Synchronized Workspace->确保没有冲突后再次右键修改的文件和目录->commit,在Git Staging里选中Unstaged Changes窗口里要提交的文件->Add to Index->在Commit Messge里写提交说明->Commit and Push->Next,注意这里不要选最下面的Force overwirte branch in remote if exists and have deverged,否则本地仓库会覆盖远程仓库,造成覆盖别人代码的严重后果->OK
2、冲突解决:上面在Synchronized Workspace后出现冲突会有鲜艳的红色箭头出现,双击就可以看到哪个地方冲突了,一般是先把本地的改动保存好,从远程取下最新内容,再加上本地修改,最后提交。图示如下:
在这里插入图片描述
上面本地文件改动了,远程文件新增了,所以冲突了,右键选中该文件,点击Merge:
在这里插入图片描述
可以看到新怎的那一条自动复制到本地来了,接着右键点击Commit,输入提交说明,提交到本地仓库。此时再Pull最新远程git仓库里的代码到本地仓库(冲突不解决Pull会报错,Push报rejected – non-fast-forward),然后Push即可:
在这里插入图片描述
注意不要点强推,很容易覆盖代码

posted @ 2020-04-09 11:21  天天向上327  阅读(2610)  评论(0编辑  收藏  举报