程序员的资源宝库

网站首页 > gitee 正文

Git

sanyeah 2024-04-25 18:47:36 gitee 6 ℃ 0 评论

Git

一、需要掌握的知识点

1.1、Git

1、Git介绍,分布式版本控制工具 VS 集中式版本控制工具

2、Git安装,基于官网发布的最新版本2.31.1安装讲解

3、Git命令,基于开发案例,详细讲解git的常用命令

4、Git分支,分支特性,分支创建,分支转换,分支合并,代码合并冲突解决

5、Idea集成Git

1.2、GitHub

1、创建远程库

2、代码推送Push

3、代码拉取Pull

4、代码克隆Clone

5、SSH免密登录

6、Idea集成GitHub

1.3、Gitee码云

1、码云创建远程库

2、Idea集成Gitee码云

3、码云连接GitHub进行代码的复制和迁移

1.4、GitLab

1、GitLab服务器的搭建和部署

2、Idea集成GitLab

二、课程目标

五小时熟练掌握Git GitHub GitLab Gitee码云的使用

三、正式学习

1、Git概述

Git是一个免费的、开源的分布式版本控制系统,可以快速高效的处理从小型到大型的各种项目。
Git易于学习,占地面积小,性能极快,它有廉价的本地库,方便的暂存区域和多个工作流分支等特性,其性能优于Subversion、CVS、Perforce和ClearCase等版本控制工具。


何为版本控制?
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。

为什么需要版本控制?

进了公司将从个人开发过渡到团队协作

版本控制工具:

1、集中式版本控制工具

CVS、SVN(Subversion)、VSS....

2、分布式版本控制工具

每个客户端要连接远程库实现共同版本控制

Git简史:

Git工作机制

本地库代码还可以推送到远程库。

工作区和暂存区可以随时删除,但提交到本地库之后,要删除就只能是删库跑路了。。

Git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

局域网:

? GitLab

互联网:

? GitHub(外网)

? Gitee码云(国内网站)

2、Git安装

官网地址:https://git-scm.com/

高速下载链接:https://npm.taobao.org/mirrors/git-for-windows/

3、Git常用命令

1、设置用户签名

配置文件保存在C盘/用户/xiaolin/下

2、初始化本地库

1、语法

git init

2、案例实操

3、查看本地库状态

1、语法

git status

2、案例实操

新建文件

vim hello.txt

按a,i,o,键进入insert模式

yy是复制

p是粘贴

按esc退出insert模式

:进入行模式

输入wq保存并退出

cat hello.txt 查看文件内容

tail -n 1 hello.txt 查看文件末尾第一行内容

4、添加到暂存区

1、语法

git add

从暂存区删除

git rm --cached hello.txt

5、提交到本地库

1、语法

git commit -m "日志信息"

6、查看历史记录,版本日志信息

1、语法

git reflog 查看普通版本信息

git log 查看详细版本日志信息

7、修改文件

再次进入到编辑模式

vim hello.txt

修改完

8、版本穿梭

1、语法

git reset --hard 版本号

4、Git 分支操作

1、什么是分支

在版本控制过程中,同时推进每个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

2、分支的好处

同时并行推进多个功能开发,提高开发效率
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可。

3、分支的操作

命令名称 作用
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上
1、查看分支

1、语法

git branch

2、案例实操

2、创建分支

1、语法

git branch 分支名

2、案例实操

3、修改分支

1、语法

在所在分支下:

vim 文件名,修改文件内容并保存

然后git add 文件名 添加到暂存区

git commit -m 版本信息 文件名 添加到本地库

4、切换分支

git checkout 分支名

git switch 分支名

5、合并分支

1、语法

git merge 分支名

把指定的分支合并到当前分支上

2、案例实操

3、冲突合并

原因:

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,Git无法替我们决定使用哪一个,必须人为决定新代码内容。

需要进入到vim编辑模式人为修改

然后重新git add

但是注意git commit -m "版本信息"

后不再加文件名

dd删除行

4、创建分支和切换分支图解

master、hot-fix其实都是指向具体版本记录的指针,当前所在的分支,其实是由head决定的,所以创建分支的实质就是多创建一个指针。
Head如果指向master,那么我们现在就在master分支上...
所以切换分支的本质就是在移动head指针。

5、Git团队协作机制

1、团队内协作

岳不群:push推送到代码托管中心(远程库)

令狐冲:clone完整克隆到本地库

令狐冲:修改后push回代码托管中心(远程库),需要获得岳不群的授权。

岳不群:pull拉取令狐冲修改后的代码,同步本地库

2、跨团队协作

6、GitHub操作

GitHub网址:https://github.com/

创建三个账号,模拟团队协作

账号 姓名 验证邮箱
linXiao01 小林001 1849569695@qq.com
linXiao02 小林002 2371119023@qq.com
linXiao03 小林003 623718aa@gmail.com

1、创建远程库

linXiao01远程库链接:

https://github.com/linXiao01/git-demo.git

2、远程仓库操作

1、创建远程库别名

1、语法

git remove add 别名 远程库地址

git remove -v 查看当前远程库别名

2、推送本地分支到本地库

1、语法

git push 远程库名 分支名

第一次push会弹出登录github窗口

拉取远程库代码到本地库

git pull 远程库别名 分支名

会自动提交到本地库

3、克隆远程仓库到本地

1、语法

git clone 代码链接

2、案例实操

克隆不需要登录账号

克隆完成的操作:

  1. 拉取代码
  2. 初始化本地仓库
  3. 创建别名==>orign
4、邀请加入团队

5、拉取远程仓库内容

1、语法

git pull 远程库别名 分支名

3、跨团队协作

1、将远程仓库的地址复制发给邀请跨团队协作的人

被邀请人只需要打开链接,点击右上角fork按钮即可

可在本地库修改也可以在线修改

修改完点击pull requests

创建完pull requests

主人一方可以收到,然后进行审核

还可以进行对话

4、SSH免密登录

在远程仓库中还有一个SSH的地址,也就是说我们还可以使用SSH进行访问。

具体操作如下:

--进入当前用户的家目录 cd

--删除.ssh 目录 rm -rvf .ssh

生成.ssh目录

ssh-keygen -t rsa -C 邮箱号

敲3次回车键

读取公共密钥并复制

打开GitHub=>设置=>SSH and GPG keys

设置完

验证pull和push

7、IDEA 集成 Git

1、配置Git忽略文件

1、Eclipse特定文件

2、idea特定文件

3、Maven工程的target目录

为什么要忽略这些?

与项目的实际功能无关,不参与服务器上部署运行,把他们忽略掉能够屏蔽IDEA工具之间的差异。

如何忽略?

1、创建忽略规则文件,xxxx.ignore(前缀名随便起,建议是git.ignore)
这个文件的存放位置原则上在哪里都可以,为了便于让~/gitconfig文件引用,建议也放在用户家目录下

git.ignore文件模板:

# 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*
.classpath
.project
.settings
target
.idea
*.iml

2)在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)

[user] 
	name = Layne 
	email = Layne@atguigu.com 
[core] 
	excludesfile = C:/Users/asus/git.ignore
注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)

2、定位Git程序

3、初始化本地库

打开项目、菜单栏VCS=>VCS操作=>创建Git仓库

4、添加到暂存区

5、提交到本地库

6、切换版本

7、创建分支

8、切换分支

9、合并分支

10、解决冲突

8、IDEA集成GitHub

1、设置GitHub账号

2、分享工程到GitHub

3、push推送本地库到远程库

4、pull拉取远程库到本地库

5、clone克隆远程库到本地

9、国内代码托管中心-码云

1、简介

GitHub服务器在国外,使用GitHub作为项目托管网站,如果网速不好的话,严重影响使用体验,甚至会登录不上。针对这个情况,我们可以使用国内的项目托管网站-码云。

网址:https://gitee.com/

使用方式和GitHub一样,是中文网站

2、码云账号注册并登录

账号:15219374123

密码:623718.a

3、码云创建远程库

4、IDEA集成码云

1、IDEA安装码云插件

2、IDEA连接码云

5、码云复制GitHub项目

新建仓库-》选择导入-》输入GitHub项目http链接-》创建

如何同步?

点击刷新按钮

10、自建代码托管平台GitLab

1、GitLab简介

2、GitLab官网地址

官网地址:https://about.gitlab.com/

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

3、GitLab安装

1、服务器准备

2、安装包准备

EL/7/Gitlab-CE-15.10.2-ce.0.el7.x86_64.rpm - Gitlab/Gitlab-CE ·packages.gitlab.com

3、编写安装脚本

安装 gitlab 步骤比较繁琐,因此我们可以参考官网编写 gitlab 的安装脚本。

gitlab-install.sh

sudo rpm -ivh /usr/src/gitlab-ce-15.10.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 -y postfix
sudo service postfix start
sudo chkconfig postfix on
curl https://packages.gitlab.com/install/repositories/gitlab/gitlabce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlabce

4、初始化Gitlab

gitlab-ctl reconfigure

5、启动Gitlab

gitlab-ctl start

如需停止,执行 gitlab-ctl stop

6、使用浏览器访问 GitLab

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表