Git全套(GitHub、Gitee码云和GitLab)

 

 

Git

Git介绍

Git是一个免费的、开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

版本控制

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

为什么需要版本控制

从个人开发过渡到团队协作。

版本控制工具

1、集中式版本控制工具

集中化的版本控制系统如CVS、SVN等,都有一个单一的集中管理服务器,用来保存所有文件的修订版本,而协同工作的人都通过客户端连接到这台服务器,取出最新的文件或者提交更新。
在这里插入图片描述
优点每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统, 要远比在各个客户端上维护本地数据库来得轻松容易。
缺点是中央服务器的单点故障。

2、分布式版本控制工具

像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。
在这里插入图片描述
分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:

  1. 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
  2. 每个客户端保存的也都是整个完整的项目(包含历史记录, 更加安全)

Git简史

在这里插入图片描述

Git工作机制

在这里插入图片描述

Git和代码托管中心

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

  • 局域网
    GitLab
  • 互联网
    GitHub(外网)
    Gitee码云(内网)

Git 安装

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在GitBash终端里输入git --version查看git版本,如图所示,说明Git安装成功。
在这里插入图片描述

Git命令

命令名称作用
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户签名
git init 初始化本地库
git status 查看本地库状态
git add 文件名 添加文件到暂存区
git commit -m “日志信息” 文件名 提交文件到本地库
git reflog 查看历史记录
git reset --hard 版本号 版本穿梭

设置用户签名

打开GitBash输入如下命令:

git config --global user.name 用户名
git config --global user.email 邮箱

在这里插入图片描述
查看电脑家目录下的.gitconfig配置文件可以验证是否设置好了用户签名,若设置好则如下图:在这里插入图片描述

说明: 签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。
※注意: 这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。

初始化本地库

git init

在GitBash中进入本地仓库所在的位置,输入初始化命令,初始化成功结果如下
在这里插入图片描述
可以在文件管理器中看到生成了.git目录
在这里插入图片描述

查看本地库状态

git status

未进行任何操作的情况下:
在这里插入图片描述
新增文件hello.txt
在这里插入图片描述
文件名称显示为红色表示修改为添加到暂存区,git还未追踪该文件。

添加暂存区

git add 文件名

在这里插入图片描述在这里插入图片描述
文件名称显示为绿色表示已提交暂存区,但还未提交到本地库。

提交本地库

将暂存区的文件提交到本地库

git commit -m "日志信息" 文件名

在这里插入图片描述
提交本地库后再查看本地库状态,暂存区就没有可提交文件了。
在这里插入图片描述

历史版本

git reflog         查看版本信息
git log            查看版本详细信息

在这里插入图片描述

版本穿梭

git reset --hard 版本号

返回旧的版本
在这里插入图片描述

Git分支

在这里插入图片描述

什么是分支

分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层是指针的引用)
在这里插入图片描述

分支的好处

并行推进多个功能开发,提高开发效率,各个分支之间互不影响。

分支的操作

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

冲突

合并分支时,两个分支在同一个文件的同一个位置有两套不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码的内容。
在这里插入图片描述
在出现合并冲突时,打开冲突发生的文件便可以看到具体的冲突内容
在这里插入图片描述
删除掉提示冲突的符号,保留你需要的正确内容,然后保存退出

在这里插入图片描述
添加你手动合并之后的新文件到暂存区
重新提交你修改过冲突的文件,此时提交命令中不需要写文件名称
在这里插入图片描述

IDEA集成Git

1、配置Git忽略文件
(1)创建忽略规则
为了方便~/.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用户的家目录中)

[core]
excludesfile = C:/Users/asus/git.ignore

注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”
2、定位git程序
在IDEA中打开Settings->Git
在这里插入图片描述
3、初始化本地库
在这里插入图片描述
选择要创建Git本地仓库的工程。
在这里插入图片描述
4、添加到暂存区
右键点击项目选择->Git->Add将项目添加到暂存区
在这里插入图片描述
5、提交到本地库
在这里插入图片描述
在这里插入图片描述
6、版本穿梭
在IDEA的左下角,点击Version Control,然后点击Log查看版本
在这里插入图片描述
右键选择要切换的版本,然后点击菜单中的Checkout Revision。
在这里插入图片描述
7、创建分支
选择Git,在Repository中,点击Branches
在这里插入图片描述
在弹出的Git Branches里,点击New Branch按钮
在这里插入图片描述
填写分支名称,创建分支
在这里插入图片描述
8、切换分支
在IDEA的右下角,切换分支
在这里插入图片描述
9、合并分支
在这里插入图片描述
合并分支时,若代码有冲突,则需要手动进行合并。

GitHub

创建远程库

GitHub网址
在这里插入图片描述
在这里插入图片描述

远程仓库操作

命令名称作用
git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址 给远程地址起别名
git push 别名 分支 推送本地分支上的内容到远程仓库
git clone 远程地址 将远程仓库的内容克隆到本地
git pull 远程地址别名 远程分支名 将远程仓库对于分支最新内容拉下来与当前本地分支直接合并

代码推送Push

git push 别名/远程地址 分支

推送代码时最小单位是分支

代码拉取Pull

git pull 别名/远程地址 分支

代码克隆Clone

git clone 远程地址

克隆时会自动创建别名

SSH免密登录

在这里插入图片描述
进入当前用户的家目录,删除.ssh目录
在GitBash中运行命令生成.ssh密钥

ssh-keygen -t rsa -C 邮箱

进入.ssh目录查看文件列表,查看id_rsa.pub文件,复制文件中的内容
登录 GitHub,点击用户头像→Settings→SSH and GPG keys
在这里插入图片描述
在这里插入图片描述
之后再往远程仓库push的时候使用SSH连接就无需再登录了。

IDEA集成GitHub

1、设置GitHub账号
在这里插入图片描述
若出现401等情况连接不上,一般是网络原因,可以使用Token登录
在这里插入图片描述
去GitHub账户上设置Token
在这里插入图片描述
在这里插入图片描述
点击生成Token
在这里插入图片描述
复制红框中的字符串到IDEA中
在这里插入图片描述
点击登录
在这里插入图片描述
2、分享工程到GitHub
在这里插入图片描述
在这里插入图片描述
分享成功后GitHub便会自动帮我们创建对应的远程仓库
3、push推送本地库到远程库
右键点击项目,可以将当前分支的内容push到GitHub的远程仓库中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意: push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。也就是说, 要想 push 成功,一定要保证本地库的版本要比远程库的版本高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!

4、pull拉取远程库到本地库
右键点击项目,可以将远程仓库的内容pull到本地仓库
在这里插入图片描述
在这里插入图片描述

注意: pull是拉取远程仓库代码到本地,如果远程仓库代码和本地库代码不一致,会自动合并,如果自动合并失败,还会涉及到手动合并冲突的问题。

5、clone克隆远程库到本地
在这里插入图片描述
在这里插入图片描述
为clone下来的项目创建一个工程,然后点击Next
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


Gitee码云

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

码云连接GitHub进行代码复制与迁移

码云提供了直接复制 GitHub 项目的功能,方便我们做项目的迁移和下载。
在这里插入图片描述
将GitHub的远程库链接复制过来,点击创建按钮即可
在这里插入图片描述
在这里插入图片描述
若GitHub项目更新了以后,在码云云端可以手动同步更新。
在这里插入图片描述
在这里插入图片描述

GitLab

这个目前还用不上,再加上条件不够,所以暂时空着,之后如果有需要再补上。

GitLab服务器的搭建与部署

IDEA集成GitLab

posted @ 2021-04-28 10:41  小垃圾在努力!  阅读(99)  评论(0)    收藏  举报