【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab

上一篇文章【尚硅谷】Git与GitHub基础全套完整版教程-笔记3中以GitHub操作为例,介绍了在实际操作中管理自己的远程库。接下来看看Git图形化界面操作,如果平时做项目时不使用Eclipse工具,可以选择不看第7部分,直接点击目录链接跳转到第8部分Git工作流。

目录

7 Eclipse中Git插件简介

7.1 Eclipse新建工程

7.1.1 工程初始化为本地库

7.1.2 Eclipse中设置签名

7.2 Eclipse 忽略文件

7.2.1 文件忽略介绍

7.2.2 文件忽略具体步骤

7.2.3 提交暂存区和提交到库

7.3 将本地过程推送到远程库

7.4 Oxygen Eclipse 克隆工程操作(版本高一些) 

7.5 Kepler Eclipse 克隆工程操作(版本比较低的Eclipse)

7.6 在Eclipse中解决冲突

7.6.1 Eclipse制造冲突

7.6.2 Eclipse解决冲突

8 Git 工作流(3种)

8.1 概念

8.2 分类

8.2.1 集中式工作流像 

8.2.2 GitFlow 工作流(最经典,用得最多)

8.2.3 Forking 工作流(Linux团队用的多)

8.3 GitFlow 工作流详解 

8.3.1 分支种类

8.3.2 GitFlow 工作流举例

8.3.3 分支实战

8.3.4 分支实战具体操作

9 Gitlab 服务器搭建过程

9.1 官网地址

9.2 安装命令摘录——先不要着急按照这个命令去装

9.3 调整后的安装过程 

9.4 配置并启动Gitlab服务器操作

9.5 浏览器访问Gitlab首页

10 总结

10.1 版本控制

10.2 Git简介

10.3 Git命令行操作

10.4 Git图形化界面操作

10.5 Gitlab服务器环境搭建


7 Eclipse中Git插件简介

到目前为止讲解的命令行已经可以满足大部分的操作了。其实Git也可以实现图形化界面操作。

7.1 Eclipse新建工程

7.1.1 工程初始化为本地库

先创建一个Maven工程,右键new,选择Maven Project,Next,填写Group Id和Artifact Id,以及Packaging,象征性的建几个类。刚建完发现在本地文件夹下没有.git这个文件,需要初始化。

①工程→右键→Team→Share Project→Git

点击下面方框 

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第1张图片

②Create Repository

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第2张图片

③Finish

7.1.2 Eclipse中设置签名

window->prefer->Team->Git->Configuration->Reposit....

能看到工程的配置文件

(1)在Eclipse中设置本地库范围签名(用户名字)

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第3张图片

(2)设置用户email

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第4张图片

Eclipse查看git文件标识说明:window->prefer->Team->Git->Label Decorations

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第5张图片

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第6张图片

Eclipse中文件追踪添加到缓存区:文件/项目-> 右键->Team->Commit。

选中文件,拖拽即可。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第7张图片

Eclipse查看项目中的所有文件的Navigator窗口打开,Navigator栏可以看到所有文件。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第8张图片

7.2 Eclipse 忽略文件

7.2.1 文件忽略介绍

概念:Eclipse 特定文件。

这些都是 Eclipse 为了管理我们创建的工程而维护的文件,和开发的代码没有直接关系,最好不要在 Git 中进行追踪,也就是把它们忽略

例如:

.classpath 文件

.project 文件

.settings 目录下所有文件

为什么要忽略 Eclipse 特定文件呢?同一个团队中很难保证大家使用相同的 IDE 工具,而 IDE 工具不同时,相关工程特定文件就有可能不同。如果这些文件加入版本控制,那么开发时很可能需要为了这些文件解决冲突,浪费精力。

(文件忽略)GitHub 官网样例文件

下面的链接提供了各种语言的忽略文件

https://github.com/github/gitignore

https://github.com/github/gitignore/blob/master/Java.gitignore

7.2.2 文件忽略具体步骤

(1)编辑本地忽略配置文件,文件名任意(eg:在家目录下创建Java.gitignore,其实不一定在家目录下,但是为了和git的.gitignore在同一目录,保持一致)

Java.gitignore 文件编辑如下:

# Compiled class file *

.class

# Log file *

.log

# BlueJ files *

.ctxt

# Mobile Tools for Java (J2ME)

.mtj.tmp/

# Package Files #

*.jar

*.war

*.nar

*.ear

*.zip

*.tar.gz

*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml

hs_err_pid*

# add by yourself

.classpath

.project

.settings

target

(2)在~/.gitconfig 文件中引入上述文件,如下:

[core]

excludesfile = C:/Users/Lenovo/Java.gitignore 

[注意:这里路径中一定要使用“/”,不能使用“\”]

(3)完成后在Eclipse查看.gitconfig 配置:window->prefer->Team->Git->Configuration

(4)重启eclipse->Navigator窗口查看忽略是否成功,忽略的文件没有问号。

7.2.3 提交暂存区和提交到库

(1)提交到暂存区:项目右键>Team> add to Index  

文件上显示+

(2)提交到本地库中: 项目右键>Team>Commit  (我的快捷键:ctrl+shift+#)

直接commit也是可以的。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第9张图片

7.3 将本地过程推送到远程库

(在GitHub创建新的远程库TestGit)

复制http地址,项目->右键->Team->Remote->Push

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第10张图片

URI: 粘贴在GitHub复制的地址,后面2个默认。User账号,下面是密码。然后点下一步。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第11张图片

点击Add All Bran... -> 然后下一步/或者直接Finish

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第12张图片

可以添加一些日志信息->Finish

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第13张图片

执行成功的结果:

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第14张图片

7.4 Oxygen Eclipse 克隆工程操作(版本高一些) 

(1)右键, Import...导入工程

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第15张图片

Next

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第16张图片

(2)next,到远程库复制工程地址

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第17张图片

(3)粘贴到URL  ,如下图,然后点击next

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第18张图片

(4)选择分支  Next

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第19张图片

(5)指定工程的保存位置(最好选择eclipse工作区) 然后next

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第20张图片

等待下载

(6)指定工程导入方式,这里只能用:Import as general project (作为普通工程导入)

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第21张图片

(7)点击Finish

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第22张图片

(8)转换工程类型 (导入进来的不适合编写,需要修改Eclipse工程)

工程上点右键->Configure->Convert to Maven Project

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第23张图片

(9)最终效果 

会生成eclipse工程的特定文件。在这Maven起到很大的作用。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第24张图片

7.5 Kepler Eclipse 克隆工程操作(版本比较低的Eclipse)

问题:不能保存到当前 Eclipse 工作区目录 (和上面第5步不同)

放在工作区[第(7)步时]不能导入,如下图:

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第25张图片

正确做法:保存到工作区以外的目录中,其他的和上面都一样。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第26张图片

7.6 在Eclipse中解决冲突

7.6.1 Eclipse制造冲突

(1)分别修改TestGit和TestGit2同一文件同一位置

(2)然后:都提交到本地库,快捷ctrl+shift+#(他们两人个是个的本地库)

(3)然后TestGit推送到远程库(这里不是首次推送和上面不同   如下:)

工程右键->Team->Push Branch ‘master’)(所以默认直接下一步)->等条读完(弹出对话窗口)

(4)这时TestGit2不能推送,会出现这个图,因为不是最新版本

更新:右键->Team->pull

7.6.2 Eclipse解决冲突

(1)冲突文件→右键→Team→Merge Tool  

对于多行代码很有必要。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第27张图片

(2)修改完成后Eclipse正常执行[该文件] ,add/commit 操作即可。

8 Git 工作流(3种)

8.1 概念

在项目开发过程中使用 Git 的方式。

8.2 分类

8.2.1 集中式工作流像 

集中式工作流以中央仓库作为项目所有修改的单点实体。所有修改都提交到 Master 这个分支上。

这种方式与 SVN 的主要区别就是开发人员有本地库。Git 很多特性并没有用到。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第28张图片

8.2.2 GitFlow 工作流(最经典,用得最多)

Gitflow 工作流通过为功能开发、发布准备和维护设立了独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第29张图片

8.2.3 Forking 工作流(Linux团队用的多)

Forking 工作流是在 GitFlow 基础上,充分利用了 Git 的 Fork 和 pull request 的功能以达到代码审核的目的。更适合安全可靠地管理大团队的开发者,而且能接受不信任贡献者的提交。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第30张图片

8.3 GitFlow 工作流详解 

8.3.1 分支种类

①主干分支 master

主要负责管理正在运行的生产环境代码,永远保持与正在运行的生产环境完全一致。

②开发分支 develop

主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。

③bug 修理分支 hotfix

主要负责管理生产环境下出现的紧急修复的代码。从主干分支分出,修理完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。

④准生产分支(预发布分支) release

较大的版本上线前,会从开发分支中分出准生产分支,进行最后阶段的集成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后可以视情况删除。

⑤功能分支 feature

为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支中独立出来。开发完成后会合并到开发分支。

8.3.2 GitFlow 工作流举例

下面是GitFlow 工作流举例图:

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第31张图片

8.3.3 分支实战

具体操作中没有必要把这些分支都做一遍,基于一小块我们操作一遍。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第32张图片

8.3.4 分支实战具体操作

(1)创建分支: 右键->Team->Switch To->New Branch

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第33张图片

(2)给分支命名->Finish (创建后自动切换到分支)

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第34张图片

(3)修改分支hot_fix的happy.java的内容(要避免冲突),提交到本地库

(4)远程推送到远程库

选择文件happy.java,然后右键-> Repository->Pish Branch ’hot_fix’

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第35张图片

然后下一步->然后push

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第36张图片

等待一会儿,弹出下面对话窗口说明成功了。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第37张图片

(5)ybq拉取操作不需要选择分支:(这里TestGit2模拟岳不群)

项目右键->Team->Pull

补充:上面操作如果说没有更新(上面没问题从这到(6)之间不用看)

项目右键>Team>Remote>Fetch Tags

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第38张图片

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第39张图片

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第40张图片

(6)切换分支审查代码:项目右键>Team>Switch To > Other...

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第41张图片

(7)选择分支

本地的分支只有master,远程还有hot_fix

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第42张图片

(8)点击Check out as New Local Branch

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第43张图片

(9)创建新分支,选择Check out new branch为检出远程新分支

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第44张图片

(10)切换回 master 

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第45张图片

(11)合并分支

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第46张图片

选择要合并的分支,点Merge

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第47张图片

合并结果

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第48张图片

合并后直接提交到远程库(本地库已经提交)

右键->Team-Remote->Push Branch master

9 Gitlab 服务器搭建过程

安装CentOS7

在Linux环境下装,建议7。老师准备好了镜像文件。新建虚拟机。参照韩顺平老师视频看Linux。

9.1 官网地址

首页:https://about.gitlab.com/

点击Installation

安装说明:https://about.gitlab.com/installation/

9.2 安装命令摘录——先不要着急按照这个命令去装

sudo yum install -y curl policycoreutils-python openssh-server cronie

sudo lokkit -s http -s ssh

sudo yum install postfix

sudo service postfix start

sudo chkconfig postfix on

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ee

实际问题:yum 安装 gitlab-ee(或 ce)时,需要联网下载几百 M 的安装文件,非常耗时(一旦网络不好,容易出错,还需要回复快照等,很麻烦),所以应提前把所需 RPM 包下载并安装好。

下载地址为:(老师推荐的版本,打开链接,点击Download)

https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-10.8.2-ce.0.el7.x86_64.rpm

9.3 调整后的安装过程 

ee是企业版本(Enterprise Edition), ce是社区版本(Community Edition)。从协议来说,社区版更宽松。

sudo rpm -ivh /opt/gitlab-ce-10.8.2-ce.0.el7.x86_64.rpm

sudo yum install -y curl policycoreutils-python openssh-server cronie

sudo lokkit -s http -s ssh

sudo yum install postfix

sudo service postfix start

sudo chkconfig postfix on

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ce 

(安装包已经下载下来了。)新建一个文件install.sh把上述的命令复制进去,就不用一行一行安装了。为了保险,新建一个快照“准备就绪”。

当前步骤完成后重启。(绿油油的安装过程)

9.4 配置并启动Gitlab服务器操作

初始化配置 gitlab

$gitlab-ctl reconfigure #这个会执行很长时间,action run经常出现,要有耐心。装了很多东西,过程很复杂。

启动 gitlab 服务

$gitlab-ctl start

停止 gitlab 服务

$gitlab-ctl stop

9.5 浏览器访问Gitlab首页

访问 Linux 服务器 IP 地址即可,如果想访问 EXTERNAL_URL 指定的域名还需要配置域名服务器或本地 hosts 文件。

如果网页出现拒绝访问,执行一下命令:

$service firewalld stop //停止防火墙服务

初次登录时需要为 gitlab 的 root 用户设置密码。

【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab_第49张图片

root/atguigu2018good

应该会需要停止防火墙服务。但是真正在生产环境下面,运维彻底把防火墙关掉确实是不太可取的,还是应该请运维小伙伴设置好的防火墙策略,开放需要访问的端口号。

10 总结

到目前为止,整个【尚硅谷】Git与GitHub基础全套完整版教程的笔记已经更新完毕,现在做一个简单的总结。

10.1 版本控制

版本控制介绍:个人开发改进迭代;团队协作

版本控制工具介绍:集中式版本控制工具;分布式版本控制工具

10.2 Git简介

Git简史

Git结构

Git和代码托管中心

Git安装

10.3 Git命令行操作

本地库操作

远程库操作

10.4 Git图形化界面操作

Eclipse的文件操作(不使用的话可忽略)

Git工作流

10.5 Gitlab服务器环境搭建

看具体公司需要

说明:记录学习笔记,如果错误欢迎指正!写文章不易,转载请联系我。

你可能感兴趣的:(Git,笔记,git,eclipse,java,github)