Git学习—git、gitHub、gitee

标题:Git学习—git、gitHub、gitee

学习内容:

1、Git相关概述
2、Git 安装
3、Git 常用命令
4、分支
5、GitHub 操作
6、IDEA 集成 Git
7、IDEA 集成 GitHub
8、码云Gitee相关内容
9、gitLab和学习总结


内容详情:

1、Git相关概述
Git

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

版本控制

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

为什么需要版本控制 :个人开发过渡到团队协作。

版本控制工具

集中式版本控制工具

CVS、SVN(Subversion)、VSS…… 集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。 这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。
事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

分布式版本控制工具

Git、Mercurial、Bazaar、Darcs…… 像Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用
其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。
分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

Git 工作机制

在这里插入图片描述
工作区:代码存放的位置
暂存区:工作区的代码添加到暂存区
本地库:将暂存区的代码提交到本地库

还可以增加远程库,本地库和远程库可以进行拉取等操作

Git 和代码托管中心

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

局域网
GitLab

互联网
GitHub(外网)
Gitee 码云(国内网站)

2、Git 安装

除了以下三步,其余都是默认下一步
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
下载完成后,在桌面上右击就有 Git Bash Here
在这里插入图片描述

点开 Git Bash Here输入 git --version,出现版本信息就成功啦
在这里插入图片描述

3、Git 常用命令
在这里插入图片描述
补充:
git log 查看更改的详细信息
在这里插入图片描述

设置用户签名

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

说明:

签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。

注意:

这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任 何关系。

初始化本地库

git init

结果会产生一个.git的文件夹
在这里插入图片描述

查看本地库状态

git status

添加暂存区

git add 文件名

提交本地库

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

查看历史记录

git reflog

在这里插入图片描述

版本穿梭

git reset --hard 版本号

先用 git reflog 查看版本信息,然后复制想回到的版本号

在这里插入图片描述
4、分支

概述

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。

在这里插入图片描述
master分支一直在给用户使用,我们在用其他的分支,搞好了就合并分支,没合并之前不对master分支有任何影响。

分支的好处

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

分支的操作

在这里插入图片描述
查看分支

git branch -v

创建分支

git branch 分支名

切换分支

git checkout 分支名

合并分支

git merge 分支名

正常合并没什么
异常合并需要手动的去修改代码

hot-fix 和 master都对同一个地方修改了,并且提交到了本地库,那么不知道合并的时候用谁修改过的,所以会报错,还是合并中的状态,手动修改后提交本地库不要增加文件名
在这里插入图片描述
5、GitHub 操作

团队内协作
在这里插入图片描述
跨团队协作
在这里插入图片描述
GitHub 网址:https://github.com/

创建远程仓库

登录后点击右上角的+号,点击New repository.
在这里插入图片描述
在这里插入图片描述
远程仓库操作
在这里插入图片描述
创建远程仓库别名

git remote add 别名 远程地址

在这里插入图片描述
推送本地分支到远程仓库

git push 别名 分支

第一次可能会失败,第二次就好了,出了个弹窗绑定你的账号。
在这里插入图片描述
在这里插入图片描述

拉取远程库内容

git pull 远程库地址别名 远程分支名

在这里插入图片描述
克隆远程仓库到本地

git clone 远程地址

clone 会做如下操作

1、拉取代码。
2、初始化本地仓库。
3、创建别名

SSH免密登录

在user用户下的C:\Users\xiaobai,每个人的后面不一样,我的是小白,右击打开git Bash Here 输入下面的命令

 ssh-keygen -t rsa -C 邮箱

然后连续三下回车,在该目录下生成了.ssh文件,然后打开公共的秘钥复制
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
输入秘钥title随便取
然后就成功了
在这里插入图片描述
接下来再往远程仓库 push 东西的时候使用 SSH 连接就不需要登录了。

6、IDEA 集成 Git

配置 Git 忽略文件

创建忽略规则文件 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

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

[user]
name = xiaobai
email = 2581692055@qq.com
[core]
excludesfile = C:/Users/xiaobai/git.ignore

注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”

为什么要忽略他们

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

在idea里面定位 Git 程序
在这里插入图片描述
然后初始化本地库
在这里插入图片描述
默认就是当前目录

添加到暂存区和提交到本地库

在这里插入图片描述
切换代码版本

在这里插入图片描述
创建、切换和合并分支
项目右击git里面
在这里插入图片描述
在这里插入图片描述
idea左下角可以看分支状态
在这里插入图片描述
可以点开图标就是上述的截图,直接切换分支
在这里插入图片描述
合并分支
在这里插入图片描述

7、IDEA 集成 GitHub

登录gitHub

用口令的方式
在这里插入图片描述
口令获取
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
全部勾选
在这里插入图片描述

推送,拉取,克隆操作
在这里插入图片描述
8、码云Gitee相关内容

码云官网地址:https://gitee.com/

大部分操作和gitHub差不多
创建远程库
在这里插入图片描述
可以直接点击这个导入gitHub代码
在这里插入图片描述
IDEA 集成码云

idea自带gitHub,所以不用插件,码云就直接去安装一个插件就行,后面的操作差不多。

在这里插入图片描述

在这里插入图片描述

9、gitLab和学习总结

这个留给以后接触了公司之后再看,linux系统太多东西相关了,到时候统一解决

总结:学习的课程都是尚硅谷教的,希望以后可以通过文档和书籍自学


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值