轻松学会git(2)

6. reset命令三个参数对比

  • –sort 参数

    ​ 仅仅在本地库移动HEAD指针

在这里插入图片描述

  • –mixed参数

    ​ 在本地库移动移动HEAD指针

    ​ 重置暂存区

在这里插入图片描述

  • –hard参数

    ​ 在本地库移动HEAD指针

    ​ 重置暂存区

    ​ 重置工作区

7.删除文件并找回

7-1.删除文件: rm 文件名

7-2.找回: git add 文件名 git status 查看状态 git commit -m ‘文件描述’ 再重新提交一遍

7-3.前提:删除前,文件存在时的状态提交到了本地库;

7-4.操作: git reset --hard 指针位置

​ 删除操作已经提交到本地库:指针位置指向历史记录

​ 删除操作尚未提交到本地库:指针位置使用HEAD

8.比较文件差异:

​ 8-1:git diff 文件名

​ 比较两个版本的文件差异:红的为删除,绿的为添加;

​ 将工作区中的文件和暂存区进行比较

​ 8-2:git diff 文件名

​ 将工作区中的文件和本地库历史记录比较

8-3:不带文件名比较多个文件

9.修改默认编辑器:

9-1:把你安装的git存放那个文件里找到bin文件夹并把他的路径复制,在电脑的环境变量里添加进去;

9-2:在终端中直接通过命令 code 调用 ‘编辑器’

注意:编辑器第一个字母大写

git config --global core.editor "Vscode"
git config --global core.editor "Vim"

9-3.保存退出,再重新创建文件;


1.分支管理

1-1.什么是分支?

​ 在版本控制过程中,使用多条线同时推进多个任务.
在这里插入图片描述

1-2.分支的好处?

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

1-3.分支操作

​ 1-3-1: 创建分支

​ git branch 分支名

​ 1-3-2:查看分支

​ git branch -v

​ 1-3-3:切换分支

​ git checkout 分支名

​ 1-3-4:合并分支

​ 第一步: 切换到接收修改的分支(被合并,增加新的内容)上

​ git checkout 接收修改的分支名

​ 第二步: 执行merge命令

​ git merge 要修改的分支名

​ 1-3-5:解决冲突

​ 什么叫冲突: 同时修改两个版本的内容;

​ 冲突的表现:

在这里插入图片描述

​ 冲突的解决:

  • 第一步: 编辑文件,删除特殊符号;

  • 第二步:把文件修改到满意为止,保存退出;

  • 第三步:git add 文件名

  • 第四部: git commit -m " 文件提示信息"

    注意:此时commit 一定不能带具体的文件名

2.Git基本原理:

​ 哈希算法的特点:

​ 1.不管输入数据有多少,输入同一个哈希,得到的加密结果长度固定

​ 2.哈希算法确定,输入数据确定,输出数据能够保证不变.

​ 3.哈希算法确定,输入数据有变化,输出数据一定有变化,而且通常变化很 大.

​ 4.哈希算法不可逆

3.Git保存版本的机制:

​ 3-1: 集中式版本控制工具的文件管理机制

​ 以文件变更列表的方式存储信息.这类系统将他们保存的信息看做是 一组基本文件和每个文件随时间逐步累积的差异;

​ 3-2:Git的文件管理机制

​ git把数据看作是小型文件系统的一组快照,每次提交更新时git都会 对当前的全部文件制作一个快照并保存这个快照的索引,为了高效, 如果文件没有修改,Git不在重新存储该文件,而是只保留一个链接指 向之前存储的文件,所以Git的工作方式可以称之为快照流

​ 4.GITHub

​ GitHub首页就是注册页

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

​ 4-1.在gitHub注册账户

​ 4-2推送:

​ 4-2-1: 先建一个本地库

​ mkdir 目录名(AA); 创建仓库

​ cd AA ; 进入目录

​ vim aa.txt; 创建文件;

​ git add aa.txt; 发送到暂存区

​ git status; 查看状态

​ git commit -m “发送信息的描述” 文件名; 提交到本地库

​ 4-2-2:创建远程库

​ 登录 gitHub

​ 点击 new reporitory 创建一个新的仓库

​ 验证email 邮箱 (新账户需要)

​ 创建示例图:

在这里插入图片描述

​ 4-2-2:推送(提交到远程数据库)

注意分支名可以设置为main或者master

​ git push 别名 分支名

注意:别名:指的是为了把那个网址简化起的名字

​ git remote add “别名” 建文件发送gitHub的网址; 简化 网址起别名

​ git remote add origin git@github.com:asdf12345678-m/-.git

​ git remote -v ; 查看状态

​ git push -u 别名 分支名; 推送

​ git push -u origin master:main

​ 推送成功示例图:

在这里插入图片描述

​ 4-2-3: 克隆:

注意:重新建一个同级的目录 然后直接git clone 数据库网址

​ mkdir 目录名(BB) ; 重建一个仓库

​ cd 目录名 ; 进入目录

​ git clone 仓库里AA的地址 ; 克隆AA远程数据库

​ ll 检测现在有AA 的目录

​ cd AA 进入AA目录

​ ll 可以看到AA里面的文件

​ ls -lA 可以看到有一个.git 的目录 代表本地库已经初 始化好了,不需要我们初始化

​ git remote -v 查看状态 我们给AA里面的远程数据库网址 起的别名也拿到了

​ 作用: 完成的把远程库下载到本地

​ 创建远程地址的别名

​ 初始化本地库

​ 4-2-4:加入团队:

​ vim AA里的文件名; 修改里面的内容

​ git add AA里的文件名; 放到暂存区

​ git commit -m “描述的内容” AA里的文件名; 提交到本地库

​ git push 别名 分支名 提交不了,因为不是一个团队

​ 怎样加入团队:

​ 第一步:

在这里插入图片描述
第二步:

在这里插入图片描述

​ 第三步:

在这里插入图片描述

​ 第四步:

在这里插入图片描述

​ 第五步:

在这里插入图片描述

​ 接受后,他俩就是一个团队的成员

​ git push 别名 分支名; 再执行推送:

​ 执行成功图例:

在这里插入图片描述

4-3: 拉取(也可以直接算提交)

​ git push 别名 分支名

​ pull=fetch+merge

​ git fetch 远程库别名 远程库分支名; 把远程库的分支拉取下来;

​ git merge 远程库别名 远程库分支名

​ git pull 远程库别名 远程库分支名

​ cat 文件名 ; 查看文件,只是把远程库的数据下载下来

4-4:团队协作冲突:

​ 要点:

​ 如果不是基于GitHub 远程库操作的最新版所做的修改, 不能推送,必须先拉去

​ 拉取下来后如果进入冲突状态,则按照’"分支冲突解决"操作解决即可’;

总结:
学了github ,以及如何进行算送数据,怎样拉取,推送;
怎样进行团队合作,邀请队友;
git功能强大,提高了开发效率;​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值