引言
上期在讲述“注册GitHup账号”的流程,接上期此次讲述如何在windows系统上安装git软件,以及如何使用“git”命令。
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
Git可以在windows上使用,也可以在linux上使用;本期给各位小伙伴介绍windows系统如何安装使用“Git”,欢迎各位小伙伴阅读与纠正。
1 下载地址
介绍三个下载软件的地址,大家可以根据需求进行选择下载。
有些网站可能需要梯子下载速度才会很快,但是一定要安全上网。
1.1 官网下载地址(不推荐)
官网下载地址:https://git-scm.com/download/win
备注:在没有梯子的情况下进入会很慢,但是也可以进入。
下载步骤:
第一:登录官网页面,然后向下拖动找到并单击“Downloads”按钮,如下图1-1-1所示。
图1-1-1
第二:选在“系统类型”,此处选择“windows”版本,大家可根据需求选择,如下图1-1-2所示。
图1-1-2
第三:进入软件下载界面,然后在“Standalone Installer”选项下面“选择”要下载的系统版本,根据电脑系统选择即可,如下图1-1-3所示。
图1-1-3
第四:下载完的软件如下图1-1-4所示
![](https://i-blog.csdnimg.cn/direct/1be78f6f92294ab387f496d31a540388.png)
图1-1-4
1.2 阿里镜像下载(推荐)
推荐使用“阿里的镜像”进行下载,因为下载速度较快。
阿里镜像下载地址:https://registry.npmmirror.com/binary.html?path=git-for-windows/
下载步骤:
第一:登录阿里镜像地址,如下图1-2-1所示。
图1-2-1
第二:选择“软件”版本,然后单击进入,这里选择的是目前最新的版本“v2.46.0”,如下图1-2-2所示。
图1-2-2
第三: 步骤2后,在下载界面,根据系统架构的“位数”选择即可;然后“单击名称”即会开始下载,如下图1-2-3所示。
图1-2-3
第四:下载成功的软件同“1.1”小节中完全相同。
1.3 gitforwindows网站下载
网站地址:https://gitforwindows.org/
下载不需要梯子,速度也很快。
进入界面后,直接单击“Download”按钮即可下载,默认下载最新版本,如下图1-3-1所示。
图1-3-1
2 安装Git
2.1 新建安装目录
新建一个安装Git的“安装目录(文件夹)”,新建的目录路径一定要是“全英文”的。
新建的安装目录建议选择“c盘”以外的盘符,当然也可以不新建安装目录,直接使用默认目录。
2.2 安装软件
安装流程如下面小节。
2.2.1 进入安装界面
选中软件包后,右键“以管理员身份执行”开始安装;进入的安装页面如下图2-2-1所示,然后直接点击“Next”按钮进入下一步即可。
图2-2-1
2.2.2 选择安装路径
选择安装路径,这里选择在“2.1”小节中新建的目录,然后点击“Next”按钮进入下一步操作,如下图2-2-2所示。
图2-2-2
2.2.3 组件选择
选择“(NEW!)Add a it Bash Profile to Windows Terminal”组件,含义是在windows终端中添加一个Git的bash环境;然后点击“Next”按钮进入下一步操作,如下图2-2-3所示。
图2-2-3
2.2.4 选择开始菜单文件夹
这里“默认”即可,直接点击“Next”按钮进入下一步操作,如下图2-2-4所示。
图2-2-4
2.2.5 选择Git的默认编辑器
这里选择的是“Notepad++”,大家根据需求选择即可,但是必须是电脑上已经安装的文本编辑器;然后点击“Next”按钮进入下一步操作,如下图2-2-5所示。
图2-2-5
2.2.6 选择Git的初始化分支
默认即可,直接点击“Next”按钮进入下一步操作,如下图2-2-6所示。
图2-2-6
2.2.7 选择Git的环境变量调整方式
默认即可,直接点击“Next”按钮进入下一步操作,如下图2-2-7所示。
图2-2-7
2.2.8 选择SSH可执行文件
默认即可,直接点击“Next”按钮进入下一步操作,如下图2-2-8所示。
图2-2-8
2.2.9 选择HTTPS传输后端
默认即可,直接点击“Next”按钮进入下一步操作,如下图2-2-9所示。
图2-2-9
2.2.10 配置行结束转换
默认即可,直接点击“Next”按钮进入下一步操作,如下图2-2-10所示。
图2-2-10
2.2.11 配置与Git bash环境一起使用的终端仿真器
默认即可,直接点击“Next”按钮进入下一步操作,如下图2-2-11所示。
图2-2-11
2.2.12 选择“git pull”的默认行为
默认即可,直接点击“Next”按钮进入下一步操作,如下图2-2-12所示。
图2-2-12
2.2.13 选择一个凭证帮助器
默认即可,直接点击“Next”按钮进入下一步操作,如下图2-2-13所示。
图2-2-13
2.2.14 配置额外选项
默认即可,直接点击“Next”按钮进入下一步操作,如下图2-2-14所示。
图2-2-14
2.2.15 配置试验选项
勾选“Enable experimental support for pseudo consoles(启用对伪控制台的实验支持)”;然后点击“Install”安装按钮,如下图2-2-15所示。
图2-2-15
2.2.16 安装进度
软件安装进度如下图2-2-16所示。
图2-2-16
2.2.17 安装完成
安装成功后,去掉“View Release Notes(查看发行说明)”选项,然后点击“Finish(完成)”按钮即可,如下图2-2-17所示。
图2-2-17
2.3 检验是否安装成功
windows+r快捷键打开cmd窗口,然后输入命令“git --version”检验是否安装成功Git软件,如下图2-3-1所示。
到此软件安装结束,可以进行使用了。
图2-3-1
通过电脑的“开始”菜单,看到“Git”文件夹,也表示安装成功,如下图2-3-2所示。
可以单击下图中的“Git Bash”或“Git CMD”启动,然后进行git操作;也可以“win+r”快捷键启动cmd窗口进行git命令操作。
图2-3-2
2.4 启动Git Bash窗口
2.4.1 第一种方法-启动Git Bash
如上“2.3”节的图中,直接点击“Git Bash”
2.4.2 第二种方法-启动Git Bash
第二种方法:桌面空白处右键---选择“Open Git Bash Here”,如下图2-4-1所示
图2-4-1
打开后的界面如下图2-4-2所示;此窗口可以执行linux常用的命令。
图2-4-2
2.4.3 第三种方法-启动Git Bash
cmd窗口中直接使用,因为在安装git软件时已经将git的环境添加到本地计算机的环境变量中了;启动方法如图2-4-2所示。
注意:此窗口中不能使用linux命令
图2-4-2
2.5 用户操作配置
2.5.1 名字配置
用户名配置语法: git config --global user.name "用户名" #如图2-5-2
图2-5-1
2.5.2 邮箱配置
邮箱配置语法: git config --global user.email "真是邮箱" #如图2-5-2
图2-5-2
2.5.3 查看配置的名字与邮箱
查看配置命令:git config --global --list #如图2-5-3
图2-5-3
2.5.5 名字与邮箱存储的配置文件
配置文件:C:\Users\本地计算机用户名.gitconfig (如图2-5-5)
图2-5-4
图2-5-5
2.6 系统配置
2.6.1 查看系统配置命令
查看系统配置命令:git config --system --list #图2-6-1
图2-6-1
2.6.2 系统配置文件存放目录
系统配置文件:D:\Apply\other\DownTool\Git\install\Git\etc\gitconfig (如图2-6-2)
配置文件存放在git软件的安装目录下,参考“2.2.2”小节选择的安装路径。
系统配置文件中的参数与“2.6.1”小节中命令查出的配置完全一样。
图2-6-2
2.7 同时查看系统与用户配置命令
查看命令:git config l (小写的L) #如图2-7-1
图2-7-1
3 Git的基础知识
3.1 Git基础简介
1、git是一个分布式的代码管理工具。
2、可以是C/S架构,也就是Client/Server。
3、只要有适当的权限,每个客户端都可以下载或上传数据到服务器。
3.2 Git的工作区域组成
工作区:Workspace;写代码的目录,就是项目代码存放的目录。
暂存区:Index/Stage;用于存放临时改动代码的文件,为工作区和版本库区两者之间的缓存地带;保存即将提交到文件列表的信息。
本地版本库:Local Repository,用于存放提交到本地仓库代码文件的目录。
远程仓库:Remote Repository,代码托管的服务器或开源平台,例如github、gitcode等等。
图3-2-1
3.3 Git的基本工作流程
git的基本工作流程
1、在工作区(Workspace)中修改文件。
2、将修改过的文件“添加”到本地仓库的暂存区,暂存区为一个临时存放目录,命令git add。
3、将“暂存区”的文件“提交”至本地的版本库中,提交命令“git commit”。
4、将“提交”至本地版本库中的文件“同步”至远程仓库中,同步命令“git push”。
3.4 Git文件状态
Git的本质是对版本进行控制,也就是对文件的版本进行控制,使用Git对文件进行修改、或者提交等操作时,需要知道文件当前处于什么状态,不然可能出现文件提交错误,在Git中文件分为以下状态:
Untracked:文件未跟踪;此文件在文件夹中,但并没有加入git库,不参与版本空盒子。
Unmodify:文件已入库,并且未修改;即版本库中的文件内容与文件夹中完全一致。
Modified:文件已修改;仅仅是修改,并没有进行其它操作。
Staged:文件已暂存;并没有同步到本地版本库中。
Committed:文件已提交;已提交到本地版本库,受到版本控制。
4 Git的使用
4.1 Git所有命令
git最常用的几个命令分别是:git init,git clone,git add,git commit,git push,git pull,git checkout;其它命令根据需求使用,所有的命令如下表格所示:
命令****作用下载与创建命令git init创建或初始化一个新的本地库;帮助信息在命令后加“-h”git clone克隆(或下载)仓库中的源码;帮助信息在命令后加“-h”提交修改命令git add将本地修改的文件上传到仓库的暂存区;帮助信息在命令后加“-h”git mv移动或重命名一个文件、目录或软连接;帮助信息在命令后加“-h”git restore恢复或撤销文件的更改,为Git 2.23 版本引入;帮助信息在命令后加“-h”git rm将文件从暂存区和工作区中删除;帮助信息在命令后加“-h”查看命令git bisect使用二等分法来查找一个引入bug(错误)的commit(提交);帮助信息在命令后加“-h”git diff比较文件的不同,即暂存区和工作区的差异;帮助信息在命令后加“-h”git grep查找提交历史、工作目录、甚至索引中的一个字符串或者正则表达式;帮助信息在命令后加“-h”git log查看本地仓库的历史提交记录;帮助信息在命令后加“-h”git show显示 Git 对象的详细信息;帮助信息在命令后加“-h”git status查看本地仓库的状态;帮助信息在命令后加“-h”分支操作命令git branch列出、创建或删除分支;帮助信息在命令后加“-h”git commit将暂存区文件提交到版本库;帮助信息在命令后加“-h”git checkout切换分支;帮助信息在命令后加“-h”git merge合并分支;帮助信息在命令后加“-h”git rebase用于将一个分支上文件更改移到另一个分支之上;帮助信息在命令后加“-h”git reset将所有内容恢复到最后一次提交,可以指定退回某一次提交的版本;帮助信息在命令后加“-h”git switch更清晰地切换分支,为Git 2.23 版本引入;帮助信息在命令后加“-h”git tag创建、列出或删除标签,标签用于标记特定的提交;帮助信息在命令后加“-h”远程仓库操作命令git remote查看远程仓库名字,或将本地仓库与远程仓库关联;帮助信息在命令后加“-h”git fetch从远程仓库下载所有代码库文件;帮助信息在命令后加“-h”git pull将远程仓库的代码文件同步到本地;帮助信息在命令后加“-h”git push将本地代码文件同步到远程仓库中;帮助信息在命令后加“-h”
4.2 查看相关命令
4.2.1 查看本地仓库状态git status
作用:查看本地仓库的状态。
命令语法:git status #如图4-2-1
查看git status命令可跟参数命令:git status -h
图4-2-1
4.2.2 查看提交日志命令git log
作用:查看本地仓库的提交日志信息。
查看提交日志命令:git log #如图4-2-2
以简洁模式显示提交日志命令:git log --oneline #如图4-2-2
查看git log命令后可跟参数命令:git log -h
图4-2-2
4.2.3 比较文件的不同
作用:比较文件的不同,即暂存区和工作区的差异。
比较两个文件不同之处:git diff #如图4-2-3
查询git diff后可跟哪些参数:git diff -h
从图4-2-3中可以看到对比结果显示出,同一个文件工作区比暂存区新增了一个内容"lianhua",
新增内容显示为“+绿色内容”
图4-2-3
4.2.4 查看git对象的详细信息git show
作用:显示 Git 对象的详细信息,可以查看git的仓库、标签、分支等的详细信息。
查看git对象详细信息语法:git show 对象名称(分支、标签等等)
查看git show后可跟哪些参数命令:git show -h
例子:
查看分支详细信息:git show main #如图4-2-4,main为分支名称
查看标签详细信息:git show v1.0 #如图4-2-4,v1.0为标签名称
图4-2-4 查看git对象详细信息
4.2.5 查找指定文本内容git grep
作用:查找提交历史、工作目录、甚至索引中的一个字符串或者正则表达式;只能查询暂存区和提交到版本库的文件所包含的内容;与同于linux中的“grep”管道命令类似。
语法:git grep content(搜索内容,可以是正则表达式)
注意:只能查找暂存区、提交的版本库中的文件。
常用参数说明:
-c,--count:显示查找到内容所在的每个文件名以及对应文件中内容的数量
-e <pattern>:指定多个模式。
-i,--ignore-case:查找内容时忽略大小。
-n,--line-number:显示查找到的内容在文件中的行号。
-v,--]invert-match:显示不匹配的行。
-w,--word-regexp:查找内容时只匹配整个单词。
其它可用参数查询命令:git grep -h
查找内容“louts”不区分大小写并显示行号:git grep -i -n "louts" #如图4-2-5
查找内容“louts”并显示每个文件中的数量:git grep -c "louts" #如图4-2-5
只在“.js”文件中查找“louts”内容:git grep "louts" -- '*.js' #如图4-2-5
查找正则表达式“<script”开头的行:git grep -e "\<script" #如图4-2-5
图4-2-5 查找内容
4.3 下载命令git clone
4.3.1 下载命令语法
下载远程仓库代码语法:git clone url地址(查询网站获得)
命令git clone后可以跟参数查询方法:git clone -h
下载github远程仓库例子:如图4-3-6
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
此处以在githup网站下载Ai绘图软件“stable-diffusion-webui”的源码为例。
4.3.2 下载命令例子
下载流程如下:
(1)进入githup官网:https://github.com/
图4-3-1
(2)在检索框中输入要搜索的“stable-diffusion-webui”软件名称,只需要输入源码名称的部分即可,不需要输入“”全名称,如图4-3-2所示。
图4-3-2
(3)检索出的“软件源码”包如图4-3-3所示,这里“单击”第一个进入;个人可根据需求选择。
图4-3-3
(4)进入页面后,点击“code”,然后在弹出的“对话框”中复制“https”地址,如图4-3-4所示。
图4-3-4
(5)快捷键“win+r”键启动cmd窗口;也可新建一个目录,在目录的“路径”位置,输入“cmd”回车启动“cmd”窗口;此处为新建了一个“目录”,如图4-3-5示。
图4-3-5
(6)然后在cmd窗口中输入下载命令。
下载github远程仓库开源代码命令:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
输入命令后,按回车键开始下载,会显示“下载进度”,当进度到达“100%”时,表示下载完成,如图4-3-6所示。
图4-3-6
(7)下载成功的“stable-diffusion-webui”源码如图4-3-7所示。
图4-3-7
4.4 创建本地存储库命令git init
作用:创建或初始化一个新的本地库存储库。
4.4.1 创建一个本地存储库
创建本地仓库命令语法:git init 项目名称
查询git init后可跟哪些参数命令:git init -h
创建本地仓库命令例子:git init test #创建一个名字为"test"的本地存储库,如图4-4-1
图4-4-1
4.4.2 初始化创建好的本地仓库
(1)本地任意目录“右键”新建一个文件夹,命名为“test”,如图4-4-2所示。
图4-4-2
(2)双击进入“test”文件夹内,如下图4-4-3所示。
图4-4-3
(3)空白处右键选择“Open Git Bash Here”,参考“2.4.2”小节;如图4-4-4所示。
图4-4-4
(4)启动“Git Bash”窗口后,执行“git init”初始化命令,成功后如图4-4-5所示。
初始化创建的本地仓库命令:git init #如图4-4-5
图中的“master”表示此时本地库处于“master”分支。
图4-4-5
(5)初始化成功后,会在“test”本地仓库中生成一个“.git”的隐藏文件夹,如图4-4-6所示。
图4-4-6
(6)分支指向性文件,如图4-4-7所示。
图4-4-7
4.5 添加代码至本地暂存区命令git add
作用:将本地修改的文件上传到仓库的暂存区,暂存区文件的状态为“Staged”。
单个文件语法:git add 文件全名(包括后缀)
上传所有文件命令:git add . #注意“点”表示当前目录
查询git add后可跟哪些参数命令:git add -h
添加单个文件至本地暂存区例子:git add test.txt #如图4-4-1
图4-4-1
4.6 提交代码至本地仓库命令git commit
作用:将暂存区文件提交到版本库;提交至版本库的文件状态为“commited”。
命令语法:git commit -m "message(提交文件信息)" (-m 表示提交信息)
查看git commit后可跟哪些参数命令:git commit -h
提交例子:git commit -m "first file" #提交成功如图4-6-1
表示将“test.txt”提交至版本库,提交信息是“first file”,提交信息可以随意编写,一定要是英文。
图4-6-1
查看提交日志信息命令:git log (见“4.2.2”节)
图4-6-2
4.7 分支命令应用
4.7.1 查看与创建分支命令git branch
作用:用于列出、创建或删除分支。
列出本地或远程仓库分支:
列出本地所有分支:git branch #如图4-7-1
列出远程仓库所有分支:git branch -r #如图4-7-1
列出本地和远程仓库所有分支:git branch -a #如图4-7-1
从图4-7-1中可以看出查询的分支只有“master”为绿色,绿色则表示为当前正在使用的分支。
查看git branch后可跟哪些参数命令:git branch -h
图4-7-1
创建分支:
创建分支语法:git branch new_branch(新分支名称)
创建分支例子:git branch test_branch #创建成功如图4-7-2
创建一个名字为“test_branch”的新分支。
图4-7-2
4.7.2 切换或创建分支命令git checkout
作用:切换当前正在使用的分支;如果切换的分支不存在,此命令会自动先创建一个新分支,然后在切换。
切换分支语法:git checkout branch_name(要切换的分支名称)
注意:如果切换的分支不存在,就会自动创建一个新分支,并切换到创建的分支。
查看git checkout后可跟哪些参数:git checkout -h
切换分支例子:git checkout test_branch #如图4-7-3
图4-7-3
查看分支执行性文件,如图4-7-4所示;可以与“4.7.2”小节的图4-7-2对比。
图4-7-4
4.7.3 切换或创建分支命令git switch
作用:主要用于切换分支;如果切换的分支不存在,此命令会自动先创建一个新分支,然后在切换;同“git checkout”的区别是,此命令更加简洁和直观。
切换分支语法:git switch branch_name(要切换的分支名称)
创建并切换新分支语法:git switch -c branch_name(分支名称)
注意:如果切换的分支不存在,就会自动创建一个新分支,并切换到创建的分支。
查看git switch后可跟哪些参数:git switch -h
切换分支例子:git switch test_branch #如图4-7-5
图4-7-5
4.7.4 合并分支命令git merge
作用:将两个分支合并起来,方便代码文件的统一管理。
合并分支命令语法:git merge 要合并的分支名称
查看git merge后可跟哪些参数:git merge -h
合并分支命令例子:git merge master #如图4-7-7
命令含义:表示将“master”分支合并至主分支“main”;执行合并命令前,必须把gitbash窗口中的分支切换到“main”。
合并分支的操作流程如下所示:
(1)创建并切至主换至分支“main”,如图4-7-6所示。
图4-7-6
(2)将“master”分支合并到主分支“main”中,如图4-7-7所示。
图4-7-7
4.7.5 更改文件所属分支git rebase
作用:用于将一个分支上文件更改移到另一个分支之上。
变更当前分支到指定分支语法:git rebase branch_name(要变更到的分支名字)
查询git rebase后可跟哪些参数命令:git rebase -h
变更当前分支到指定分支例子:git rebase main #如图4-7-8
含义:将当前正在使用的分支变更到"main"分支
图4-7-8
4.7.6 删除分支命令git branch
作用:删除本地仓库任意一个不在使用的分支,删除一定要确定该分支不在使用。
删除本地仓库分支语法:git branch -d branch_name(要删除的分支名字)
参数含义:-d:表示删除分支; -D:表示强制删除分支。
删除远程分支语法:git push origin --delete 分支名字
origin:表示远程仓库的名字。
删除分支例子:git branch -d test_branch #如图4-7-9
注意:不能删除正在使用的分支。
图4-7-9
4.8 远程仓库操作命令
4.8.1 查看远程仓库名称git remote
作用:查看远程仓库的名字。
查看远程仓库命令语法:git remote #如图4-8-1
同步命令语法:git pull 给远程仓库定义的名字 本地分支
同步命令例子:git pull lhqcx HEAD #如图4-8-1
查看git remote后可跟参数命令:git remote -h
图4-8-1
4.8.2 下载远程仓库到本地
下载远程仓库所有仓库文件语法:git fetch 本地关联远程仓库的名称
查看git fetch后可跟哪些参数命令:git fetch -h
获取远程仓库更细的数据:git fetch lhqcx #如图4-8-2
获取到更新数据后,需要将远程仓库的数据合并到本地仓库的“main”分支,
合并命令:git merge lhqcx/main #如图4-8-2
lhqcx:本地与关联的远程仓库的名字,见“6.3.2”小节。
main:为本地正在使用的分支,使用命令“git branch”查看分支,列出的所有分支中“绿色”的表示当前正在使用的分支。
图4-8-2
4.8.3 远程仓库文件同步至本地命令git pull
作用:将远程仓库的代码文件同步至本地仓库中,此处以在“github”上创建远程公有仓库为例。
同步命令语法:git pull 给远程仓库定义的名字 本地分支
同步命令例子:git pull lhqcx HEAD #如图4-8-3
查询git pull后可跟参数命令:git pull -h
图4-8-3
4.8.4 本地文件同步至远程仓库命令git push
作用:将“提交”到本地仓库的文件“同步”至远程仓库中,这里以在“github”代码托管网的远程仓库为例子。
命令语法:git push 给远程仓库定义的名字 分支名称
命令例子:git push lhqcx main #如图4-8-4
查看git push命令可跟参数命令:git push -h
图4-8-4
4.9 移动或重命名命令git mv
作用:用于移动或重命名一个文件、目录或软连接。
重命令语法:git mv 原文件名 旧文件名
移动语法:git mv 文件 要移动到目录(绝对路径)
注意:只能在同一个仓库中移动,无法移动到其它仓库中。
查看git mv后可跟哪些参数命令:git mv -h
重命令例子:git mv text.txt test1.txt #如图4-9-1
移动命令:git mv hello.txt /d/Study/Program/gitcode/test/work #如图4-9-2
图4-9-1
图4-9-2
4.10 标签命令git tag
作用:用于创建、列出或删除标签,标签用于标记特定的提交。
4.10.1 列出与创建标签
列出标签:git tag
创建标签语法:git tag tag_name(标签的名字) #例子如图4-10-1
查看git tag后可跟哪些参数命令:git tag -h
图4-10-1
4.10.2 创建带注释的标签
创建带注释的标签语法:git tag -a tag_name(标签的名字) #例子如图4-10-2
推荐用此方法创建标签:因为可以注释标签的创建作者、时间等信息
查看日志历史记录信息:git log #图4-10-4,此时便可以看标签的信息了
查看git tag后可跟哪些参数命令:git tag -h
图4-10-2 创建带注释的标签
图4-10-3 创建带注释的标签成功
图4-10-4 查看日志历史记录信息
4.10.3 同步标签至远程仓库
作用:将在本地创建的标签同步至远程仓库中,此处远程仓库以在github创建的公有仓库(public)为例。
推送标签至远程仓库语法:git push 远程仓库名称 tag_name(标签名字)
推送所有标签至远程仓库语法:git push 远程仓库名称 --tags
查看git push后可跟哪些参数命令:git push -h
推送标签至远程仓库例子:git push lhqcx v2.0 #如图4-10-5
lhqcx:本地定义的远程仓库的名字,见“6.3.2”小节中本地仓库关联远程仓库操作
图4-10-5
进入github官网(方法参考“6.3.1”),查看标签是否推送成功,如图4-10-7所示。
图4-10-6 github官网进入标签页
图4-10-7 推送至github公有仓库的标签
4.10.3 查看标签信息git show
作用:查看标签的详细信息。
查看标签信息语法:git show tag_name(标签名字)
查询git show后可跟哪些参数命令:git show -h
查看标签信息例子:git show v1.0
图4-10-8 查看标签的信息
4.10.4 删除标签
作用:删除本地仓库和推送至远程仓库的标签。
删除本地仓库标签语法:git tag -d tag_name(标签名字)
删除远程仓库标签语法:git push 本地与远程仓库关联的名字 --delete tag_name(标签名字)
查看git tag后可跟哪些参数命令:git tag -h
删除本地仓库标签例子:git tag -d v2.0 #如图4-10-9
删除远程仓库标签例子:git push lhqcx --delete v2.0 #如图4-10-9
lhqcx:本地仓库定义的与远程仓库关联的名字,参考“6.3.2”小节。
图4-10-9 删除标签
4.11 版本回退相关命令
4.11.1 回退指定版本命令git reset
作用:将所有内容恢复到最后一次提交,可以指定退回某一次提交的版本。
回退到指定版本语法:git reset HEAD+版本号 file_name(回退文件,可以不加)
常用参数说明:
--soft:用于回退到某个版本。
--hard:用于撤销工作区中所有未提交的修改内容,将暂存区与工作区都回退到上一次版本,并删除之前的所有提交的信息。
HEAD说明:用于指向当前所在分支的指针;为一个分支、调教的跟踪指向性文件,位于本地仓库的隐藏目录
“.git”下,文件名字就是“HEAD”。
查询git reset后可跟哪些参数命令:git reset -h
HEAD版本说明:
HEAD:表示当前版本。
HEAD^:表示上一个版本。
HEAD^^:表示上上一个版本。
HEAD^^^:表示上上上一个版本;以此类推。
HEAD版本也可以用数字表示:
HEAD~0:表示当前版本。
HEAD~1:表示上一个版本。
HEAD~2:表示上上一个版本。
HEAD~3:表示上上上一个版本;以此类推。
使用例子:
回退所有内容到上一个版本:git reset HEAD~1
回退指定文件到上一个版本:git reset HEAD~1 hello.txt
回退所有内容到指定版本:git reset 8e5c (提交哈希值的后四位,可以通过git log查询)
回退所有内容到上上一个版本:git reset --soft HEAD~2
回退所有内容到上上一个版本:git reset --hard HEAD~2
回退到某个版本回退点之前的所有信:git reset –hard 8e5c(提交哈希值的后四位,可以通过git log查询)
将本地的状态回退到和远程的一样:git reset --hard lhqcx/master
lhqcx:为本地仓库与远程仓库关联的名字,见“6.3.2”小节
4.11.2 恢复或撤销文件更改git restore
作用:恢复或撤销文件的更改,为Git 2.23 版本引入,简化和改进文件恢复操作,相比于旧的命令(如
git checkout
和
git reset
),它更专注于恢复文件内容和工作区状态。
语法:git restore file_name1 file_name2(要恢复的文件命令)
常用参数:
-S,--staged:恢复暂存区中的文件内容到工作区,即移除暂存区中的文件。
-s,--source=HEAD+版本号:从指定的提交中恢复文件内容;默认为HEAD,即当前提交。
-2,--ours:在合并冲突时,恢复为当前分支的版本。
-3,--theirs:在合并冲突时,恢复为另一个分支的版本。
--dry-run:显示将要恢复的文件和路径,而不实际进行恢复。
查看git restore后可跟哪些参数命令:git restore -h
使用例子:
例子1:恢复工作区中的“hello.txt”文件到最近的提交状态?
命令1:git restore hello.txt
例子2:恢复暂存区中的“hello.txt”文件内容到工作区?
命令2:git restore --staged hello.txt
例子3:从提交“HEAD~1”版本中恢复文件“hello.txt”?
命令3:git restore --source=HEAD~1 hello.txt
例子4:在合并冲突时,将文件“hello.txt”恢复为当前分支的版本?
命令4:git restore --ours hello.txt
例子5:在合并冲突时,将文件“hello.txt”恢复为另一个分支的版本?
命令5:git restore --theirs hello.txt
例子6:恢复工作区中的“hello.txt”和“flowers.txt”文件到最近的提交状态?
命令6:git restore hello.txt flowers.txt
4.12 删除文件git rm
作用:用于将文件从暂存区和工作区中删除。
同时删除暂存区和工作区的文件语法:git rm file_name(要删除的文件全名)
强制删除暂存区和工作区的文件语法:git rm -f file_name(要删除的文件全名)
只删除暂存区文件语法:git rm --cached file_name(要删除的文件全名)
递归删除目录下所有文件及子目录语法:git rm -r 目录名
此命令还可以写作:git rm -r * (必须要进入要删除子目录及文件的主目录下)
查询git rm后可跟哪些参数:git rm -h
只删除暂存区文件例子:git rm --cached hello.txt #如图4-12-1
删除暂存区和工作区文件例子:git rm hello.txt #如图4-12-2
图4-12-1 只删除暂存区的文件
图4-12-2 删除暂存区和工作区的文件
5 本地与远程仓库交互
5.1 本地与远程仓库交互基础
在第4节中都是针对本地仓库的操作,通常使用中需要把本地文件“上传或提交”到远程的仓库中,方便我们在任意位置都可以下载。
常用的远程仓库有:
1、githup:全世界性的代码开源社区托管平台,但是没有梯子会较慢。
地址:https://github.com
2、gitcode :中国代码开源社区托管平台,会转存github上的部分源码 。
网址:https://gitcode.com/
3、gitee:俗称码云,中国代码开源社区托管平台。
网址:https://gitee.com/
5.2 ssh建立github仓库的链接
目前githup远程仓库上,一般都是通过ssh(安全外壳协议)进行授权的,实现本地与githup远程仓库建立通讯,实现数据的交互。
本地仓库还是自己任意创建一个目录,然后使用“git init”命令初始化即可,参考“4.2”小节。
5.2.1 本地生成ssh秘钥
查看本地是否安装“ssh”,默认windows系统是不安装的,但是在安装“git”软件时会给自动安装后,所以此处只需要查看验证一下即可,如图5-2-1所示。
图5-2-1
生成ssh秘钥命令:ssh-keygen -t rsa #生成的秘钥如图5-2-2
看到这个命令经常使用linux系统的小伙伴是不是感觉到很熟悉,不错这个命令就是和linux系统生成ssh秘钥命令完全一致。
图5-2-2
秘钥存放路径:C:\Users\用户名.ssh (秘钥存放路径如图5-2-3)
图5-2-3
秘钥文件如图5-2-4所示。
图5-2-4
5.2.2 登录githup网站
github的账号注册与使用,参考另一篇文章“github网站注册流程”;此处不在详述。
github登录网址:https://github.com/ (登录成功的首页如图5-2-5)
图5-2-5
5.2.3 github添加ssh秘钥
(1)github网站首页右上角点击“账号头像” ,如图5-2-6所示。
图5-2-6
(2)选择“setting(设置)”,如图5-2-7所示。
图5-2-7
(3)seeting(设置)页面,如图5-2-8所示。
图5-2-8
(4)ssh秘钥添加位置,如图5-2-9所示。
图5-2-9
(5)将“5.2.1”小节中生成的公钥“id_rsa.pub”中的秘钥复制粘贴到“key”的输入位置,然后点击“Add SSH key”按钮,如图5-2-10所示。
图5-2-10
(6)添加成功的“公钥”信息显示,如图5-2-11所示;一般需要刷新在确定一下添加的公钥。
图5-2-11
5.2.4 验证git与github的通信
验证本地的git是否与github网站是否成功建立通讯信息。
验证命令:ssh -T [email protected] #建立成功链接如图5-2-12
图5-2-12中“Hi github用户名! You've successfully”表建立链接成功。
图5-2-12
5.3 github新建仓库
在github上创建一个公有(public)仓库,方便上传自己的代码与下载代码;当然不创建仓库也是可以从github上下载代码的,参考“4.1”小节。
(1)登录github网站(登录地址:https://github.com),首页右侧点击“加号”旁边的“箭头”--选择“New repository”即可进入创建仓库页面,如图5-3-1所示。
图5-3-1
(2)在"Create a new repository(创建一个新仓库)"页面,填写创建仓库的基础信息,然后点击“Create repository”按钮即可,如图5-3-2所示。
图5-3-2
(3)创建成功后,会自动进入仓库主界面如图5-3-3所示。
图5-3-3
5.4 下载github仓库
使用“命令”下载github仓库操作方法如下所示:
(1) 在“5.3”小节中已经进入创建的新仓库的主界面,然后点击“code”弹出下载选项,如图5-4-1所示。下载方法有三种,介绍如下:
https/ssh/github cli:使用git命令下载的链接地址,常用方法之一;此处选择次方方法。
Open with Github Desktop:github桌面端下载,不常用。
Download ZIP:下载zip压缩放,常用方法之一。
图5-4-1
(2)因为搭建的是“ssh”通道,所以选择“ssh”链接下载地址,如图5-4-2所示。
复制的链接地址:[email protected]:zkp-lhqcx/qcx.git
图5-4-2
(3)本地“Git Bash”窗口,打开方法见“2.4”小节,下载如图5-4-3所示;下载命令git clone的使用见“4.1”小节
git clone [email protected]:zkp-lhqcx/qcx.git
图5-4-3
5.5 同步本地文件至github远程仓库
将本地代码文件上传至github远程仓库操作流程:
(1)首先需要将本地代码文件“存放”到下载的本地仓库“文件夹”下(见“5.4”节图5-4-3);此处以新建一个文件为上传例子,如图5-5-1所示。
图5-5-1
(2)使用“git add”命令将“helloworld.txt”代码文件上传至仓库“暂存区”,操作方法如图5-5-2所示。
添加文件至本地仓库暂存区命令:git add helloworld.txt
查看添加至暂存区文件状态命令:git status
statged:表示暂存区
图5-5-2
(3)将上传至“暂存区”的代码文件“提交”至github远程版本库中,操作方法如图5-5-3所示。
暂存区文件提交至本地仓库命令:git commit -m "qcx file_v1.0" #如图5-5-3
"qcx file_v1.0":表示提交的信息,自定义即可,一定要是英文
查看提交至本地仓库状态命令:git status
commit:表示为提交状态
注意:此处提交至本地的“qcx”仓库中,并未同步至github网站的远程仓库中。
图5-5-3
(4)查看github远程仓库的名字,操作方法如图5-5-4所示。
查看远程仓库命令:git remote #如图5-5-4
图5-5-4
(5)将提交至本地版本库中的“helloworld.txt”代码文件上传至github的远程仓库中,操作方法如图5-5-5所示。
上传远程仓库命令:git push origin main #如图5-5-5
origin:表示远程仓库的名字。
main:表示远程仓库中分支的名字。
图5-5-5
6 手动建立本地仓库与远程仓库的关联
6.1 新建本地仓库
作用是与远程库建立链接后,上传与下载源码的本地存储仓库。
在本地计算机上新建一个目录,新建位置及名称自定义即可,创建好的文件夹如图6-1-1所示。
图6-1-1
6.2 初始化新建的本地仓库
初始化“6.1”小节中新建的本地仓库,初始化命令:git init (如图6-2-1)
图6-2-1
6.3 关联本地仓库与远程仓库
将创建的本地仓库“gitsd”与“5.3”小节中在github官网创建的公有仓库“qcx”进行关联。
6.3.1 查询github远程仓库名称
github登录地址:https://github.com/
(1)首页单击左侧单击“仓库名称”,进入仓库,如图6-3-1所示。
图6-3-1
(2)进入github的远程公有仓库后,复制“ssh”地址,如图6-3-2所示。
复制的ssh地址:[email protected]:zkp-lhqcx/qcx.git
远程仓库名称:qcx
图6-3-2
6.3.2 关联本地仓库与github的远程仓库
关联命令语法:git remote add 给远程仓库定义的名字 远程仓库的ssh地址
关联命令例子:git remote add lhqcx [email protected]:zkp-lhqcx/qcx.git #关联成功如图6-3-3
图6-3-3
6.4 远程仓库代码同步至本地
将github上的远程仓库同步到本地,实现本地与远程仓库的代码上传与下载。
同步命令例子:git pull lhqcx HEAD
含义解释:
lhqcx:给远程仓库定义的名字
HEAD:是指向当前所在分支的指针;指向的是一个引用(reference),它可以是一个分支、标签
或者提交记录的哈希值;HEAD的存在可以让Git跟踪当前所在的分支,以便在commit、merge等操作时
知道当前所在的位置。
(1)本地默认分支一般是“HEAD”,查看分支文件如图6-4-1所示。
图6-4-1
(2)执行将远程仓库同步到本地命令,如图6-4-2所示。
图6-4-2
6.5 本地文件同步至远程仓库
6.5.1 创建主分支main
如果本地已经有了“main”分支,只需要将分支从“master”切换至主分支“main”;如果没有就创建一个主分支“main”,同时也可以将创建的“master”分支合并到“main”分支方便统一管理;当然合并不合并根据需求决定。
合并分支命令见“4.7.5”小节。
图6-5-1
图6-5-2
6.5.2 本地文件同步至远程仓库
将修改后的本地代码文件上传至github远程仓库的操作流程如下:
(1)先修改一个本地代码文件,如图6-5-1所示。
图6-5-1
(2)将修改后的“README.md”文件上传至本地仓库暂存区,使用的命令“git add”见“4.4”小节,操作方法如图6-5-2所示。
添加文件至本地仓库暂存区命令:git add README.md #如图6-5-2
图6-5-2
(3)将添加至本地仓库“暂存区”的文件“提交”至本地仓库,使用的命令“git commit”见“4.5”小节,操作方法如图6-5-3所示。
将本地暂存区文件提交至本地仓库命令:git commit -m "first README.md" #如图6-5-3
查看提交日志信息命令:git log
commit:表示提交状态
图6-5-3
(4)将提交至本地仓库的文件,上传至远程仓库中,操作方法如图6-5-4所示。
命令语法:git push 给远程仓库定义的名字 分支名称
命令例子:git push lhqcx main #如图6-5-4
图6-5-4
(5)githup远程仓库查看是否上传成功,进入github远程仓库方法见“6.3.1”小节,验证成功如图6-5-5所示。
图6-5-5
版权归原作者 落花千重雪 所有, 如有侵权,请联系我们删除。