Git学习

参考学习视频:https://www.bilibili.com/video/BV1HM411377j?p=6&spm_id_from=pageDriver&vd_source=e336eda506ad83ed0b3e600fb069f83c

1.Git介绍

        Git是一个免费开源的分布式版本控制系统,使用一个“仓库Repoisitory”的数据库来记录文件的变化,仓库中的每个文件都有一个完整的版本历史记录,可以看到谁在什么时间修改了哪些文件的哪些内容,在需要的时候也可以将文件恢复到之前的某一个版本。

1.1版本控制系统

2.Git的安装和配置

2.1Git的安装

Git官网https://git-scm.com安装,安装完成之后,在终端输入git -v查看版本信息,如果有说明安装成功了,如果没有,还需要配置环境变量:

将C:\Git\bin(看自己安装在哪个文件夹下)配置在系统环境变量中。

Git有三种配置模式:

2.2Git配置用户名和邮箱

3.新建仓库(git init/git clone)

(1)新建文件夹

(2)进入learn-git文件夹,在该文件夹下新建一个仓库

(3)ls -a查看当前目录下是否有.git文件

.git目录存放了Git仓库的所有数据,我们可以通过ls -altr来查看一下

(4)移除.git文件,发现learn-git文件夹不再是一个仓库

(5)在learn-git这个文件夹下来,新建一个my-repo仓库

此时,learn-git下有.、..和my-repo三个文件,而my-repo文件夹下有.git、.和..三个文件。

(6)使用git clone从远程仓库创建。(基于https)

此时learn-git文件夹为:

4.工作区域和文件状态。

Git的本地数据管理分为工作区、暂存区和本地仓库。

工作区:资源管理器能够看到的文件夹;

暂存区:用于保存即将提交到仓库的修改内容;

本地仓库:git init创建的仓库,包含完整的项目历史。

5.添加和提交文件

git status:查看仓库状态。

git add: 将文件添加到暂存区。

git commit -m "message" file1.txt: 将file1.txt从暂存区提交到仓库,提交时的信息为“message”。

git push -u origin(重命名) main(分支名):将本地的origin项目的main分支提交到Github的main分支。

git commit -a -m "message" file1.txt :一次性add并提交file1文件

git commit -am "message" file1.txt :一次性add并提交file1文件

6.git reset回退版本(待处理)

7.SSH配置和克隆仓库

7.1在github创建一个repo仓库

7.2在本地电脑上创建仓库

(1)新建一个文件夹new file

(2)在new file下用git bash打开,输入“git init”,这个new file变成一个仓库。

(3)从本地克隆github的仓库

输入:git clone git@github.com:项目地址

提示没有正确的访问权限,需要配置SSH密钥

8.关联本地仓库和远程仓库


git remote add orgin 远程仓库地址,即可将本地仓库和远程仓库关联起来,输入git remote -v可查看具体信息。

8.1远程仓库修改文件后,pull到本地仓库

注意:

(1)本地仓库是远程仓库的子集时,使用pull才能拉过来

否则就会合并失败

总结:

9.分支简介和基本操作

9.1创建一个新的文件夹branchd-demo,进入文件夹下,初始化仓库。

9.2分支的命名与提交时的命名

9.3创建main1.txt,main2.txt,main3.txt三个文件,并提交到master分支。

echo main1 > main1.txt

git add .

git commit -m "main1:"

echo main2 > main2.txt

git add .

git commit -m "main2:"

echo main3 > main3.txt

git add .

git commit -m "main3:"

9.4使用git branch查看该仓库分支情况:只有默认master分支

9.5创建一个新的分支:git branch dev 

使用git branch 查看当前分支状态。

发现创建了dev分支,但是目前不在dev分支,在master分支。

9.6从master分支切换到dev分支:git checkout dev

9.7在dev分支下新建一个文件dev1.txt

发现branch-demo文件夹下面也有这个文件:

添加并提交:

9.8从dev分支切换回master分支:git switch master

此时master分支的内容是:main1,main2,main3

dev分支的内容是:dev1

9.9将dev分支合并到main分支:在main分支下执行git merge dev命令

合并之后,dev分支仍然存在,使用git branch -d dev删除分支dev

10.解决合并冲突

如何两个分支对于同一个项目,改动同一行代码,合并就会产生冲突:

10.1新建一个分支feat

git branch feat

10.2在feat分支下对main1.txt文件进行修改

10.3在master分支下查看main1.txt的内容,在feat分支下查看main1.txt的内容

10.4在main分支中修改main1.txt的文件内容

保存提交:git commit -am main1.txt

10.5解决main1.txt在俩分支的修改冲突

尝试将feat分支合并到master分支:

合并失败。

git diff查看master分支和feat分支为什么会有冲突:

手工编辑main1.txt文件,留下想要的内容。

添加并提交:

解决f由于main1.txt文件冲突导致不能将feat分支合并到master分支的问题!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值