Git学习使用笔记

发布于:2025-02-16 ⋅ 阅读:(40) ⋅ 点赞:(0)

目录

一、基本介绍

1.1 版本控制

1.2 版本控制软件的基础功能

1.3 多人协作开发/集中式版本控制

1.4 分布式版本控制 

二、Git安装

2.1下载git

2.2 使用Github Desktop软件

2.2.1 创建本地仓库

2.2.2 删除本地仓库

2.2.3 仓库文件操作 

2.2.4 多人协作

2.2.4.1 分支创建

2.2.4.2 分支合并

2.2.4.3 标签

2.2.5 远程仓库

2.2.5.1  创建远程github仓库

2.2.5.2 创建分支

2.2.5.3 创建远程gitee仓库 

2.2.6 README文件

2.2.7 忽略文件

2.2.8 多文件同时修改

2.2.9 版本号

2.2.10 分支存储 

2.2.11 暂存区、工作区、存储区 

 三、git 常用命令

3.1 产看git 版本命令

3.2 创建仓库命令

3.2.1 创建本地仓库

3.2.2 克隆远端仓库

3.3 git用户名和邮箱配置

 3.4 产看仓库状态命令

 3.5 向暂存区添加文件命令

3.6 提交命令 

3.7 查看提交信息 

3.8 恢复删除文件命令 

3.8.1 删除文件没有提交

3.8.1 删除文件已经提交了

3.9 分支命令  

3.10 标签命令 

3.11 远程仓库操作命令 

 四、总结

一、基本介绍

1.1 版本控制

包括软件版本和文件版本,软件版本就是比较熟悉的VS,有很多版本,VS2022、VS2017。

文件版本就是对文件进行修改后,又产生了一个版本。多次修改,就是有很多个版本,例如text_v1、text_v2、text_v3。主要为了保存重要的历史纪录,一旦出现问题,可以恢复数据。

如果文件特别多,每一次都给他手动修改文件名,这时候就可以使用版本控制软件,它可以自动帮助我们完成版本号的生成。

1.2 版本控制软件的基础功能

(1)保存和管理文件

如果一份文件有3个版本,版本管理软件可以自动生成版本号,并且对这3个版本的文件进行保存。

(2)提供客户端工具进行访问

一份文件有3个版本,如果一个用户想直接访问这三个文件是不可以的,必须通过客户端工具,才能访问这3个文件。主要防止直接在这个文件上篡改。

 

(3)提供不同版本文件之间的比对功能

文件和文件之间的不同,通过版本控制工具完成的。

1.3 多人协作开发/集中式版本控制

有一台电脑存储所有文件,然后不同的人就可以同时访问中央服务器,体现了多人协作开发的功能。

如果一个人想要修改文件,首先需要将中央服务器的文件下载到本地,然后在本地进行操作,修改完成后,在把文件上传至中央服务器。

如果三个人都下载了文件,第一个用户修改文件之后,将文件上传到了中央服务器,第二个用户也将文件进行了修改,改完之后,也把文件上传至中央服务器后,就会把之前第一个用户的文件覆盖了。同理第三个用户更改完之后,会覆盖第一个和第二个用户修改的文件,这个就是文件冲突问题。

VSS应对这个文件冲突得的方法是对文件进行锁定,当没有人修改的时候,文件是没有上锁的,当第一个用户下载了文件之后,这个文件就被上锁了,第二个用户就无法对此第一个用户正在修改的文件进行修改。只有当第一用户将文件修改完成之后,上传至中央服务器,然后这个文件就会解锁。此时第二个用户就可以下载了,拿到的文件是最新的文件,也就是第一个用户修改之后的文件,那么第二个用户就可以在第一个用户的修改基础上修改了。

这种集中式版本控制超级麻烦,别人在修改的时候,你就不可以修改,效率非常低。后来出现了CVS和SVN这两个工具,也是没有解决文件冲突问题,但是可以规定一个文件不同部分由不同的人修改,例如用户1修改文件的第一行,用户2修改文件的第二行。当提交文件的时候,只需要对文件进行比对就可以了。具体就是三个用户都下载了一下这个文件,然后约束第一个人只更改第一行,第二个人更改第二行,第三个人更改第三行。然后上传的时候,第一个人修改的就会替换第一行,第二个人修改的就会替换第二行,第三个人修改的就会替换第三行。这个由版本控制工具完成,如果三个人同时对文件的同一处进行修改,还是会出现文件冲突问题,无法解决,只能人工控制。如果中央服务器坏了,那么就无法进行工作了,文件也会丢失。

1.4 分布式版本控制 

除了中央服务器存储所有文件以外,在本地也有一个库,同样存储着文件。本质上这两个库是一样。

这个时候,用户还是通过客户端对文件进行访问,这时候访问的就不是中央服务器了,访问的是本地的库。这种分布式的好处在于,一旦中央服务器出现了问题一以后,用户还是可以通过本地的仓库工作,还是可以提交,只不过提交的不是中央服务器,提交的是本地仓库。当中央服务器恢复以后,将本地仓库和中央服务器的仓库进行同步即可。

总结:分布式不受网络和中央服务器的限制,而集中式控制受网络和服务器的限制。 

二、Git安装

2.1下载git

下载官网是Git https://git-scm.com/

进去之后点击DownLoad即可,选择自己电脑对应的版本。

同时,除了下载git以后,最好再点击GUI Client,下载一下GUI界面。将两个软件下载好以后,双击即可安装。

2.2 使用Github Desktop软件

2.2.1 创建本地仓库

打开这个软件之后,右边有4个选项

(1)创建一个历程库,用于学习的

(2)从网络上克隆一个仓库,这个意思就是从中央服务器上克隆仓库。

(3)创建一个本地仓库

(4)将本地已经存在的仓库田添加进来

如果登陆了github账号,那么软件的左边会展示你这个账号的github上面的仓库。

创建一个本地仓库:

(1)最上面的是仓库名字

(2) 第二个是对这个仓库的描述

(3)选择本地仓库路径,可以将下面的README也选上,也就是在创建仓库的时候自动创建一个RTEADME文件。

然后点击Create respository即可创建一个本地仓库。

创建完成后,即可看到仓库窗口了。

(1)文件操作状态区:主要保存文件的更改、删除等操作

(2)左下角区域用与将本地仓库传出至云端仓库

2.2.2 删除本地仓库

点击file->new repository在创建一个仓库,如果想删除仓库,可以右键仓库然后选择remov,这里可以将仓库从软件里移除,还可以直接删除仓库,删除的仓库回收站里边有。

默认是不删除文件夹里的仓库的,只是从软件里删除了。

同时可以直接拖拽一个仓库到软件里,会自动识别是一个仓库,点击添加即可。

2.2.3 仓库文件操作 

创建文件提交:在仓库文件夹里边,创建一个新文件a.text,在这个文件里写入4个A,然后关闭文件,即可看到软件自动识别到了新创建的文件,还有文件里更改的部分。软件只能动态识别仓库路径里的文件,不在仓库路径下的文件是不能动态识别的。

创建的文件不是直接在本地仓库里边的,本地仓库的文件夹实际是维护在.git文件夹下面的。刚才创建文件的路径是操作文件的路径,和本地仓库路径是两个完全不同的路径。

而既然是两个完全不同的路径,软件可以动态识别更改,就是比对功能。 当创建一个新文件后,操作路径有了文件,但是本地仓库里边是没有这个新文件的,这时候比对功能就可以发现这个新创建的文件。

而如果想把这个文件存储到本地仓库路径下,就需要提交,称为commit。在软件的左下角进行操作。

测试提交以后,发现软件就变化了,没有变化的文件了。

提交以后,本地仓库里的文件和操作路径下的文件是相同的,比对之后也就没有文件修改了。 

 修改文件提交:这个时候本地仓库里边已经有了两个文件,一个是a.text,另一个是c.text.如果这时候更改c.text文件,在里面添加4个c,这时候软件软件又会自动识别到更改,然后添加描述后,再次体提交。

之前是仓库没有文件,直接添加文件。这次是有这个文件,更改文件内容。仓库里有一个旧版本的使用黑色表示,新版本的使用橙色表示。

提交完成后,仓库里会存储两个版本的文件,一个是橙色的,一个是黑色的。对应本地仓库也就是两个版本号。提交之后也就是下图。

 
版本号:  版本号git使用40个16进制的数字表示,也称为提交码,在软件的history里边可以看到。通过版本号也可以找到文件更改信息,去.git文件夹下的object里边找。

文件删除: 将操作空间里边的C.text文件删除,可以看到软件再次发现变化,显示c.text文件被删除了。

删除文件之后,再次向本地仓库提交,因为本地仓库是办保存所有版本的,即使是删除文件也要进行提交。提交完成之后,变化又变成0了。同时本地仓库里边保存了一个删除文件测版本,也就是第三个版本了。如果再创建一个文件,软件还是会识别。

2.2.4 多人协作

如果三个人分别开发不同的功能,有一个工程仓库,里边存储了这个工程的所有文件,在开发过程中,三个人随时可以上传自己修改的文件,这样就会出现很多个版本,提交顺序非常乱。同时三个人可能同时修改同一个文件,出现文件冲突问题。而且频繁的提交会出现非常多的版本信息,容量就会变大,比对的时候效率就会变慢。

为了解决上面这些问题,git提供了一个分支的功能,分支就是当前仓库的一个副本,可以在副本上进行操作。最后将每个人的分支进行合并,最后可能还是会有文件冲突,因为最后每个人只提交一个版本,只需要解决一次冲突即可。

2.2.4.1 分支创建

假设王五为项目经理,只负责维护这个项目的工程库,张三和李四都是开发人员,首先这两个开发人员分别开一个分支,也就是拷贝一个项目工程库,然后在自己的分支上不算提交,最后将分支合并,都合并到王五这个分支上。

演示:首先创建一个新的版本库,创建完成之后,可以看到,最开始就有一个分支,叫做main分支,可以右键对main进行改名,这个main也可以在option->git里边设置。

 

 点击上方的New branch即可创建新的分支,这里创建两个分支,一个是user,一个是order分支,创建完即可在软件中看到。√号表示当前软件对哪个分支进行操作。

首先操作user分支,点击show in holder,进入user分支,然后创建新的user.text文件,更改这个文件。然后使用软件提交到user分支上。然后切换到order分支上,然后点击show in holder发现,文件夹里没有刚才创建的user.text文件。这是因为切换之后,文件夹里保存的就是对应分支的库。

然后切换到order分支里面,创建一个文件叫order.text文件,然后提交到order分支上。这时候order分支库里就有一个order文件了。切换到user分支,文件夹里就是user文件。切换到main分支,文件夹里啥也没有。 

2.2.4.2 分支合并

将user和order分支都合并到main分支上,选择最下面的合并按钮即可。这里注意你要往哪个分支上合并,就选择哪个分支,我要往main分支上合并,所以选择main。

点击完选择合并按钮后,对要合并的分支进行选择,这里向把user合并到main,所以选择user,下方会出现提示,提示from user into main 。 

 在分支合并过程中,碰到了同样的文件。这里首先在user分支里创建一个common.text文件,然后对user分支进行提交,提交完成后把user分支合并到main分支上,此时main分支的文件夹里就多了common.text文件了。

这时候再将order分支合并到main分支上的时候,软件会提示有文件冲突。

然后点击创建合并提交,会弹出解决冲突文件,这时候进入默认编辑器进行处理冲突文件, 

 打开文件之后,发现里边有一个HEAD,表示此文件所在分支,下面的是此份之下存的值,下面还有一个order,表示order分支下存储的值。进行修改。

 修改后的,将两个都保存。

修改完成后软件自动检测到,冲突已经解决,然后再点击合并即可解决冲突文件的合并。

2.2.4.3 标签

进行分支合并的时候,是软件自动完成的,没有写描述,可以在历史记录上添加标签。

添加完标签以后,即可看到标签显示在合并分支的旁边。 同时删除标签也是右键,删除tag。

2.2.5 远程仓库

2.2.5.1  创建远程github仓库

登陆github账号以后,点击New即可创建新的仓库,在弹出的窗口里,需要对如下下图红框里边内容进行设置,首先是仓库名字,然后是对仓库的描述,设置仓库是公开的还是私密的,选择是否创建仓库的时候添加README文件。

创建好一个新仓库后,就可以看到一个main分支了,同时有Add File按钮,点击之后,可以选择直接添加文件,或者上传文件。

 这里演示一下直接创建文件。

需要对添加的文件名字进行设置,然后点击右上角的提交,会弹出来一个窗口,对提交进行描述,然后点击commit按键即可向仓库提交,同时仓库中可以看到新的文件。

提交完成之后,仓库也会出现一个提交码,类似于版本号。

 github支持在线更改文件,点击要更改的文件,然后选择右边的铅笔,更改完之后,再次提交。

提交完成之后,可以在History里边看历史版本。 

2.2.5.2 创建分支

点击branch按钮,即可进入分支。

 点击New branch按钮,即可创建新的分支。填写完分支名字以后,点击创建新的分支,即可发现出现了两个分支。这个操作跟本地操作是一样的。

  2.2.5.3 下载远程仓库

点击file里的clone仓库按键

 在下载的远程仓库文件夹里边,创建一个a.test文件,然后按之前一样,进行本地提交。远程仓库并没有这个文件,点击push操作,将本地仓库提交到远端仓库。

2.2.5.3 创建远程gitee仓库 

登陆gitee账号,在活跃仓库里边点击新建,然后填写仓库信息即可完成创建。

 新建好仓库以后,使用软件克隆gitee远端仓库。首先点击克隆/下载,复制HTTPS地址 。

在软件克隆下载里边选择URL,将复制的地址输入进入。

克隆完成之后,操作跟github一样,创建一个a.text文件,更改里边内容,然后提交到本地仓库,再推送到gitee远端仓库即可。

2.2.6 README文件

在创建仓库的时候,可以选择初始化一个README文件,这个README文件一般存储在仓库的根目录下,用于对仓库进行描述。

2.2.7 忽略文件

在创建仓库的时候,有一个选项就是忽略文件,里边可以选择在比对的时候,不参与比对的文件。

可以在创建仓库的时候,不选择忽略文件选项,后面在比对的时候,通过对想忽略文件右键,添加忽略即可。这里使用NotePad++,在设置里边开启简单备份功能,每当更改的时候,会在目录里出现一个.bak文件。创建一个a.text文件,并且更改会产生一个a.bak文件,这个文件同样会被比对,在软件里显示出来。

这个备份问文件是没有用的,不希望存储当仓库里边,就使用忽略功能。 

 在比对发现文件更改时,选择想要忽略的文件,右键添加到忽略文件中,也就是只把a.txt.bak文件添加到忽略文件中了。

 这时候再创建一个b.text文件,然后更改,发现此时b.txt.bak文件还是被比对了,如果想让所有的备份文件都忽略,可以右键选择将所有的.bak文件都添加到忽略文件中。

补充:比对功能只针对文本文件,例如像word、压缩包这种文件,不能比对变化了什么,只能发现更改了。

2.2.8 多文件同时修改

在一个仓库已经有a.text和b.text文件的基础上,删除a.text,修改b.text,创建c.text文件,可以发现比对时会标注不同。对a文件标注红色,表示删除了,对b文件标注黄色,表示更改了,对c文件标注绿色,表示增加了。

除了直接显示文件的操作以外,在比对文件有一行比对信息,其中-1,表示旧的文件,后面的2表示,从旧的文件的第二行开始变化。+1表示新的文件,后面的4表示新文件变化到第四行。

 这个红色部分就是原来的,绿色就是后来的,4表示到第四行都变化了,3表示到新文件的第三行

2.2.9 版本号

版本号是40位的,通过特殊的公式计算出来的。通过版本号可以避免在合并的时候出现文件冲突,还可以通过版本号定位文件,版本号由2 + 38组成,在.git文件夹下的object文件夹下找到前两位的文件夹。

直接打开这个文件是看不了的,需要使用git自带的命令查看。正常文件应该是右边绿色的,但是直接 使用记事本打开是乱码的。

 在仓库文件夹选择  Git Bash here

 在命令行输入命令即可查看。

git cat-file -p 版本号

可是看到的并不是我们想要的内容,提示了一个tree,后面还有一个版本号,继续查看这个文件。 

查看这个版本号文件之后,又弹出来一个版本号,继续查看。

这个时候即可看到我们想看的内容。也就说git在提交一次之后,会保存多个内容,所以需要查看多次。

 增加文件:一个版本号里边存着多个信息。

 修改文件:会多一个a.text文件的版本号

 删除文件:将a.text文件删除,提交信息还是会保存上一次的提交版本号,但是文件状态不会保存删除的文件了,因为这个版本删除了文件。删除文件并没有把文件真正删除,只是文件没有关联。


 

2.2.10 分支存储 

提交信息里边只存储了关联状态,那么软件是怎么知道版本顺序的?

1、在.git里边有一个HEAD的文件,这个里边存储的是一个路径

 2、按这个路径可以再找到一个文件,叫做main文件,这个文件里边存储一个版本号,这个版本号就是最新的文件的版本号。

因为现在只有一个分支,就是main分支,如果再创建一个分支user,即可看到这个路径下出现两个文件,一个main,一个是user。

此时软件里边选择的是user分支,也就是软件操作的是user分支,此时HEAD文件自动更改为了user文件的路径。

这个HEAD文件是随操作软件里边的分支更改的。

 更创建完user的时候,user和main里边存储的是相同的版本号,因为是同一份提交信息。

 当user里边再次提交信息,就会再创建一个新的提交信息,然后user就会存储新提交的版本号。

并没有产生新的仓库,只是再不同的分支中引用不同的提交信息。

那么为啥不同分支显示不同的文件?

因为不同分支指向的提交文件不同,比如两个分支,可能指向不同的提交状态文件,而不同的提交状态文件可能包含不同的文件。所以在切换分支的时候,软件对读取分支指向的提交状态文件,来取出不同的文件。

2.2.11 暂存区、工作区、存储区 

工作区就是我们操作的文件夹,暂存区就是进行比对操作的,存储区就是仓库了。

当在工作区修改一个文件后,如果想进行比对,需要将想比对的文件添加到暂存区,使用git add指令即可,当然想忽略的文件就不需要添加到暂存区了。比对完成以后,如果想存储到仓库里边,需要进行提交,使用git commit指令即可完成提交。

 三、git 常用命令

git仓库分为本地仓库和云端仓库,云端仓库常用的就是gitee和github,通过克隆可以将云端仓库下载到本地,通过发布可以将本地仓库发布至云端仓库。本地仓库分为三个区域,一个是工作区,用于编辑文件的,第二个是暂存区,用于比对文件的,第三个是存储区,用于存储文件的。 工作区文件通过git add 添加到暂存区,暂存区比对完成后,通过git commit 提交到存储区。如果本地仓库如果发生了变化,可以通过push操作推送到云端,同时如果云端文件发生了改变,通过pull可以将远端文件拉去到本地。软件里都是通过红框来进行pull 和 push,如果本地更改了,云端也更改了,在你push推送的时候,它就会给你报文件冲突,这时候你就必须处理文件冲突才能上传。

3.1 产看git 版本命令

创建一个仓库文件夹,右键即可看到Git Bash Here 按键,输入git -v回车

git -v

3.2 创建仓库命令

3.2.1 创建本地仓库

手动创建一个文件夹,用于作为库文件夹。输入git init 即可创建一个本地仓库。注意使用这个命令,并不会自动进行初始化提交,只会创建一个主分支master,所以.git文件夹下面的HEAD文件只有一个master路径,但是这个路径里边是空的。而使用软件创建仓库会自动进行初始化提交。

git init

3.2.2 克隆远端仓库

使用gitee在创建一个远端仓库,然后复制Http地址,使用git clone克隆远端仓库到本地。

git clone 远端仓库地址

如果不想个远端仓库文件夹名字一样  可以在网址后面加上自己定义的名字

git clone 远端仓库网址 自定义仓库名字

在clone过程中可能问你要gitee账号和密码,正常输入就可以,也可以使用账号和私人令牌,私人令牌在gitee个人主页可以领取。

克隆完成后,发现HEAD文件里保存的路径里的文件,里边存储的版本号和官网的最新版本号是一样的,也就是说将整个仓库都下载下来了。

3.3 git用户名和邮箱配置

git在操作仓库的时候,需要有一个有户名和邮箱,通过git config命令进行配置即可,配置好用户名和邮箱即可在.git文件夹下的config里边看到,也可以直接在这里边改。当然这只是更改了一个仓库的配置,如果多个仓库需要都配置一边,比较麻烦,可以使用参数--global进行全局配置,这个直接对C盘用户目录下的.gitconfig进行配置。如果使用的软件可以在option里边更改,或者在仓库设置里边更改。

配置用户名:

git config user.name 用户名

配置用户邮箱:

git config user.email 用户邮箱

配置全局用户名: 

git config --global user.name 用户名

 配置全局用户邮箱:

git config -global user.email 用户邮箱

 3.4 产看仓库状态命令

使用git status命令即可查看仓库分支、提交状态。

git statue

 3.5 向暂存区添加文件命令

在仓库工作区新建一个文件,再使用git status可以看到显示有一个文件是没有追踪到,这个和直接把仓库拖拽到软件里,软件也显示有一个文件没有追踪是一样的。

使用git add命令将想比对的文件,使用git status即可产看到暂存区已经有一个暂存文件了。

向暂存区添加文件:

git add 要对比的文件

git add *.txt #将所有的txt文件都放到暂存区

从暂存区删除文件:

git rm -cached 要放回工作区的文件

3.6 提交命令 

将暂存区的文件提交到存储区,使用git commit命令,其中-m 后面接消息信息

git commit -m 描述信息

3.7 查看提交信息 

查看历史提交信息,使用git log命令,会在控制台打印出历史的提交信息。如果感觉看着太乱了,可以使用--oneline命令,让消息显示在一行。

git log

git log --oneline #显示在一行

3.8 恢复删除文件命令 

3.8.1 删除文件没有提交

如果是误删除了某一个文件,使用git restore命令即可恢复。

git restore 要恢复文件名

3.8.1 删除文件已经提交了

1、可以使用git reset 命令恢复,同时要加上--hard参数。恢复完成后,再次查看提交信息,发现删除文件的提交信息也被删除了。

git reset --hard 要恢复的版本号

2、使用git revert命令进行提交,这个后面接的版本号是要恢复到这个提交版本号之前的操作。

git revert 要恢复版本号之前操作的版本号

3.9 分支命令  

在使用命令行初始化一个仓库后,如果直接进行分支操作,会报错,因为命令行初始化仓库不会提交初始化,而分支操作必须在分支基础上才行。所以需要先提交再创建分支。

创建分支:

git branch 分支名字

查看分支:

git branch -v

切换分支:

git checkout 切换到哪个分支名

创建分支同时切换分支:

git checkout -b 要创建的分支名字

删除分支: 

git checkout -d 要删除的分支名字

合并分支:

如果有两个分支,一个是master分支,另一个是oder分支,master分支和order分支都有一个a.text文件,在order分支里边更改了a.text文件,然后想把order分支合并到master分支上,首先需要使用git checkout命令切换到master分支上,然后使用git merge命令合并分支。然后会提示有文件冲突,显示为merging中,这时候直接打开冲突文件,进行修改,然后再次add commit即可。

注意:只有两个分支同时修改了同一部分才会出现冲突。

合并分支命令:

git merge 要合并的分支名字

3.10 标签命令 

通过git log查看提交信息的时候,版本号非常长,看起来比较麻烦,可以通过git tag命令给某一次提交添加标签,然后可以直接通过git log 标签名查看提交状态。

添加标签:

git tag 标签名字 版本号

查看所有标签: 

git tag

通过标签查看提交信息: 

git log 标签名字

 删除标签:

git tag -d 标签名字

通标签进行分支创建: 

git checkout -b 标签名字

3.11 远程仓库操作命令 

在仓库的.git文件夹下里边的config文件里,有一个remote,就是表示远程仓库的。可以使用remote后面的名字代表远程仓库,而里边的url就是远程仓库的地址。可能有的仓库不提供HTTP地址,提供SSH地址,直接把SSH地址复制到URL上边。

如果config里边没有remote,说明是一个本地仓库,可以通过命令添加

git remote add 名称 仓库地址

删除一个远程:

git remote remove 远程名字

 更改名字:

git remote rename 新名字

更新远端仓库:将本地仓库推送到远端 

git push 远端名字

 如果是SSH连接会报错,显示权限不对,这时候需要生成SSH密钥

ssh-keygen -t rsa -C SSH仓库地址

然后一直回车即可,最后密钥文件会生成在C盘用户目录下.ssh文件夹下,有一个.pub的文件,把里边内容全部复制,进入gitee仓库,在个人主页设置里边点生成SSH密钥,把复制的内容添加进进去即可。

添加完SSH密钥以后,再次执行git push命令即可推送到远端仓库。

更新本地仓库:远端仓库内容发生更改,需要更新本地仓库

git pull 远端名字

 四、总结

1、本博客对应B站视频

尚硅谷新版Git快速入门(3h迅速掌握git)_哔哩哔哩_bilibili

2、推荐一个git学习网站

Learn Git Branching

最后,如果有任何问题可随时联系我,有侵权立马删除!

 


网站公告

今日签到

点亮在社区的每一天
去签到