【尚硅谷】Git与GitHub基础全套完整版教程-笔记4

【尚硅谷】Git与GitHub基础全套完整版教程-笔记4,第1张

【尚硅谷】Git与GitHub基础全套完整版教程-笔记4

上一篇文章【尚硅谷】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

点击下面方框 

②Create Repository

③Finish

7.1.2 Eclipse中设置签名

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

能看到工程的配置文件

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

(2)设置用户email

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

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

选中文件,拖拽即可。

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

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也是可以的。

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

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

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

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

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

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

执行成功的结果:

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

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

Next

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

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

(4)选择分支  Next

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

等待下载

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

(7)点击Finish

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

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

(9)最终效果 

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

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

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

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

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

7.6 在Eclipse中解决冲突 7.6.1 Eclipse制造冲突

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

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

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

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

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

更新:右键->Team->pull

7.6.2 Eclipse解决冲突

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

对于多行代码很有必要。

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

8 Git 工作流(3种) 8.1 概念

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

8.2 分类 8.2.1 集中式工作流像 

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

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

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

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

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

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

8.3 GitFlow 工作流详解  8.3.1 分支种类

①主干分支 master

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

②开发分支 develop

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

③bug 修理分支 hotfix

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

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

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

⑤功能分支 feature

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

8.3.2 GitFlow 工作流举例

下面是GitFlow 工作流举例图:

8.3.3 分支实战

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

8.3.4 分支实战具体 *** 作

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

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

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

(4)远程推送到远程库

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

然后下一步->然后push

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

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

项目右键->Team->Pull

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

项目右键>Team>Remote>Fetch Tags

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

(7)选择分支

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

(8)点击Check out as New Local Branch

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

(10)切换回 master 

(11)合并分支

选择要合并的分支,点Merge

合并结果

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

右键->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 用户设置密码。

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服务器环境搭建

看具体公司需要

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5677914.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存