IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git学习笔记 - Git基本操作和GitHub -> 正文阅读

[开发工具]Git学习笔记 - Git基本操作和GitHub


?

一、Git简介

?
Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。当版本进行切换时,工作区的文件内容会变成切换后的版本下的。

Git官网: https://git-scm.com/

Git的基本操作流程:
在这里插入图片描述

名词解释:

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

(2)集中式版本控制工具:集中式版本控制工具如SVN等,只有一个单一的集中管理的服务器,该服务器保存了所有文件的修订版本,协同工作的人们都通过客户端连到这台服务器取出最新的文件或者提交更新。

(3)分布式版本控制工具:分布式版本控制工具如Git等,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

(4)代码托管中心:是基于网络服务器的远程代码仓库,一般称为远程库。 搭建在局域网中的远程代码仓库是GitLab,搭建在互联网中的远程代码仓库是GitHub(外网)Gitee 码云(国内网站)
?

二、Git基本命令

?

1、git设置用户签名

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

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

基本语法:

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

设置完成后可以在home目录(C:\Users\当前登录的用户名)下的.gitconfig文件中查看相关信息。

2、初始化本地库

用git对目录进行管理,需要通过初始化让git获取这个目录的管理权。初始化本地库成功后会生成一个.git的隐藏文件。

基本语法:

git init

在这里插入图片描述

3、查看本地库状态

基本语法:

git status

(1)首次查看(工作区没有任何文件)

在这里插入图片描述

(2)工作区新增文件 hello.txt

在这里插入图片描述

(3)再次查看(检测到未追踪的文件)

在这里插入图片描述

4、添加暂存区

将工作区的文件添加到暂存区。

基本语法:

git add 文件名

在这里插入图片描述
注意:可以通过以下命令将已追踪的文件从暂存区中删除(该文件将会变成未追踪,不会有日志记录),而在工作区的该文件不会删除。

git rm --cached 文件名

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

基本语法:

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

在这里插入图片描述

6、历史版本

查看版本信息记录

基本语法:

git reflog


查看版本详细信息

基本语法:

git log

在这里插入图片描述

7、修改并提交文件

(1)修改工作区的文件内容。
在这里插入图片描述

(2)将修改的文件再次添加暂存区并提交本地仓库。git 是按照行来维护文件的,在文件中修改一行,实际上是先删除原来的那一行,再新增一行。
在这里插入图片描述
(3)查看版本信息。

在这里插入图片描述

8、 版本穿梭

Git 切换版本,底层其实是移动的HEAD 指针。

在这里插入图片描述

切换版本:

在这里插入图片描述

基本语法:

git reset --hard 版本号 

当版本6f4b4b0切换到版本d3652fb时,查看工作区的文件,其文件内容会变成版本d3652fb下的。

在这里插入图片描述

通过.git文件下的HEAD文件来查看当前分支。然后通过HEAD的内容,也就是.git文件中refs/heads目录下的master查看当前版本号。
在这里插入图片描述
在这里插入图片描述

?

三、Git分支

?
分支:在版本控制过程中,同时推进多个任务,每个任务可以创建每个任务的单独分支,一个分支代表一条独立的开发线。使用分支意味着可以从开发主线上分离开来,然后在不影响主线的同时继续工作。分支可以简单理解为副本,一个分支就是一个单独的副本。

分支底层是指针的引用,比如有master、hot-fix 两个分支,master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD 决定的。所以创建分支的本质就是多创建一个指针。HEAD 如果指向master,那么当前分支现在就在master 分支上。 HEAD 如果指向hot-fix,那么当前分支现在就在hotfix 分支上。

1、查看分支

基本语法:

git branch -v

在这里插入图片描述

2、创建分支

基本语法

git branch 分支名 

3、修改分支

修改分支的文件内容,并添加到暂存区提交到本地库。

在这里插入图片描述

4、切换分支

基本语法

git checkout 分支名 

master切换到hot-fix分支,文件中显示的是不是master中修改之后的文件内容,而是在hot-fix分支下的文件内容。
在这里插入图片描述

通过.git文件下的HEAD文件来查看当前分支。然后通过HEAD的内容,也就是.git文件中refs/heads目录下的hot-fix查看当前版本号。


在这里插入图片描述

5、合并分支

基本语法:

在当前分支上合并其它分支

git merge 分支名

例:在master 分支上合并hot-fix 分支

在这里插入图片描述

(1)切换到hot-fix分支,修改文件内容,添加到暂存区,提交本地库。
在这里插入图片描述

(2)在master分支上合并hot-fix分支。
在这里插入图片描述
(3)分支合并后文件的内容。
在这里插入图片描述

6、合并分支产生冲突

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

(1)修改master分支上的文件内容。
在这里插入图片描述
在这里插入图片描述

(2)修改hot-fix分支上的文件内容。

在这里插入图片描述

(3)在master上合并hot-fix分支,合并时出现冲突,需要修改冲突文件的内容,再添加暂存区并提交到本地库。


编辑有冲突的文件,删除特殊符号,决定要使用的内容。

特殊符号:

<<<<<<< HEAD 
当前分支的代码 
=======  
合并过来的代码  
>>>>>>> hot-fix 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
?

四、GitHub操作

?

1、创建远程库

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、创建远程仓库别名

基本语法:

git remote -v 查看当前所有远程地址别名 
git remote add 别名 远程地址 

在这里插入图片描述

3、推送本地分支到远程仓库

基本语法:

git push 远程地址别名/远程地址链接 本地分支

当第一次进行推送操作时,会弹出一个窗口让你的GitHub账户进行授权,授权成功后才能进行推送远程仓库git-demo中。当推送执行成功后进入GitHub,可以发现master 分支上的内容已经推送到远程仓库。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、拉取远程库内容

基本语法:

git pull 远程地址别名/远程地址链接 远程分支名 

(1)在远程仓库对hello.txt进行修改。

在这里插入图片描述

(2)拉取远程库内容到本地仓库。
在这里插入图片描述
在这里插入图片描述

(3)查看本地仓库的hello.txt。

在这里插入图片描述

5、克隆远程仓库到本地

基本语法:

git clone 远程地址

(1)新建一个文件夹git-demo2,进行该文件夹,右键选择Git Bash。
在这里插入图片描述

(2)通过远程地址克隆远程仓库到本地(公开类型的远程仓库克隆时不用GitHub账号和密码,可以直接克隆到本地)。
在这里插入图片描述

在这里插入图片描述

克隆会做如下操作:1、拉取代码;2、初始化本地仓库;3、自动创建远程地址的别名(别名为origin)。

在这里插入图片描述

在这里插入图片描述

?

五、团队协作

?

1、团队内协作

?
在这里插入图片描述

1、邀请合作者加入团队。

在这里插入图片描述

2、输入合作者的GitHub账号或者GitHub名称。

在这里插入图片描述

3、选择合作者的GitHub账号。

在这里插入图片描述

4、点击将合作者添加到该仓库。

在这里插入图片描述

5、复制地址,通过qq或者微信发送给对方。

在这里插入图片描述

6、合作者登录GitHub账号后,再访问该地址,点击同意加入该仓库。

在这里插入图片描述

7、合作者点击个人头像,点击Your organizations,即可看到该仓库。

在这里插入图片描述

在这里插入图片描述

8、当合作者加入该仓库后,就可以对该仓库的文件进行修改。

在这里插入图片描述
在这里插入图片描述

9、如果合作者不再进行合作后,可以从该仓库中移除。
在这里插入图片描述
在这里插入图片描述

?

2、跨团队协作

?
在这里插入图片描述

1、跨团队协作人搜索该仓库。

在这里插入图片描述

2、跨团队协作人点击Fork将该仓库叉到其远程仓库中。
在这里插入图片描述

在这里插入图片描述

3、创建成功后,跨团队协作人可以在其远程仓库中看到该仓库。

在这里插入图片描述

4、跨团队协作人修改仓库的文件。

在这里插入图片描述

在这里插入图片描述

5、跨团队协作人创建一个合并请求。

在这里插入图片描述
在这里插入图片描述

6、仓库管理员找到跨团队协作人发送的合并请求,仓库管理员先审核一遍代码,没有问题的话,再点击确认合并按钮。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、合并请求成功合并后,在管理员的仓库文件中出现了跨团队协作人写的代码。
在这里插入图片描述

?

六、SSH免密登录

?
在GitHUb远程仓库中还有一个 SSH 地址,可以使用 SSH 进行免密登录操作。在使用SSH地址进行操作前,要先使用命令在本地电脑生成ssh公有秘钥和私有秘钥,然后使用公有秘钥在GitHub账号中生成一个SSH keys。

在这里插入图片描述

1、找到本地电脑的home目录。

在这里插入图片描述

2、使用命令生成ssh公有秘钥和私有秘钥。

在这里插入图片描述

生成ssh秘钥命令

ssh-keygen -t rsa -C 账号邮箱

	ssh-keygen:生成ssh免密登录的私有密钥和公有密钥的命令。
	-t:密钥的类型,指定哪种算法生成。
	rsa:非对称加密协议。
	-C:用于识别这个密钥的注释。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3、复制公有秘钥id_rsa.pub 文件内容,登录GitHub,点击用户头像,点击Setting,点击SSH and GPG keys。
在这里插入图片描述

在这里插入图片描述

4、点击添加SSH Key。

在这里插入图片描述

5、输入SSH Key的名称和公有秘钥的文件内容,点击生成一个SSH Key。

在这里插入图片描述

在这里插入图片描述

6、接下来再往远程仓库push或者从远程仓库中pull文件时,使用SSH 连接就不需要登录了。

在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:04:10  更:2022-08-06 11:04:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:54:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计