Git学习笔记

Git

作为一个工具软件来讲,一般都会有默认的配置文件来保存基础的配置信息,Git软件的配置文件位置为:Git****安装路径:/etc/gitconfig**

指令获取软件的配置信息

git config -l

配置用户名和邮箱

git config --global user.name test
git config --global user.email test@atguigu.com

执行指定的指令,创建文件版本库

git init

在这里插入图片描述

版本库创建成功后,会在目录中创建.git目录,用于管理当前版本库

在这里插入图片描述

查看版本库状态

git status

新建a.txt且未提交到版本库中,此时a.txt显示为未追踪untracked文件

在这里插入图片描述

向git添加文件

git add file
这里file须带扩展名

将a.txt提交后在查看git status, 此时a.txt显示已追踪,状态为cached file(暂存状态)

在这里插入图片描述

将已提交文件纳入到版本库中

git commit -m "提交信息" [文件名]

提交后,Git会对当前的操作进行Hash计算,通过计算后的值将数据保存下来,保存的位置为版本库.git文件目录的objects中

-m 表示提交时的信息(message),是必须输入的。用于描述不同版本之间的差别信息

如果未指定文件名,则commit的是暂存区的文件(也就是之前add的文件)

  • -i:这是 git commit 命令的一个选项,表示交互式提交。使用 -i 选项可以启动交互式提交模式,让您逐个确认要提交的文件变化。

将之前a.txt提交后再查看git status

在这里插入图片描述

通过指令查看当前提交

git show

在这里插入图片描述

修改版本库文件查看变化

修改此前的a.txt,此时查看git staus,发现a.txt 文件处于modified状态

在这里插入图片描述

可以把这一次的修改提交到版本库中

融合add和commit(只对被Git跟踪并且修改过的文件有效)

文件commit的顺序应该先add后commit(每次commit都应该遵循),

但可以融合add和commit(只对被Git跟踪并且修改过的文件有效)

git commit -a -m "提交信息"

在这里插入图片描述

查看版本库文件历史日志

git log

在这里插入图片描述

--graph 命令用于显示提交历史的图形化展示,可以清晰地展示分支、合并等信息

日志简化

git log --oneline

这样生成的哈希值是完整的前6位

删除文件

把本地目录的a.txt删除,查看git status

在这里插入图片描述

此时Git软件会识别出来,版本库中有一份文件和当前用于临时操作文件的暂存区内的文件状态不一致:版本库中文件还在,但是操作区内的文件已经没有了。

所以软件提供了两个选择:一个是将版本库中的文件也进行(提交)删除操作。另外一个就是从版本库中恢复文件。

从版本库中恢复已删除文件

git restore 文件名

此时文件已正确恢复到本地目录。

将版本库中的文件(本地目录已删除)也进行删除操作

先删除本地目录的a.txt文件

再次commit文件(本地目录已删除)视为从版本库删除文件

git commit -a -m "deleted file"

此时查看日志文件

在这里插入图片描述

恢复历史文件

上一步从版本库删除的是最后一个版本,但是之前版本的文件其实还是存在的。所以如果我们 能将文件恢复到某一个版本,那么那个版本的文件就依然存在。

表示你要将当前分支的指针移动到该提交。这可以用来撤销之前的提交或者回退到特定的提交状态。

git reset --hard hash值

git reset

git reset --soft <commit>:这个命令会将 HEAD 指针移动到指定的提交,但是保留暂存区和工作目录的修改。这意味着之后可以重新提交这些修改。

git reset --mixed <commit>:这个命令会将 HEAD 指针移动到指定的提交,并重置暂存区,但是保留工作目录的修改。这样,之前暂存的修改会变成未暂存的修改。

git reset --hard <commit>:这个命令会将 HEAD 指针移动到指定的提交,重置暂存区和工作目录,丢弃所有未提交的修改。这样会使工作目录完全匹配指定提交的状态。

创建分支

默认情况下,Git软件就存在分支的概念,而且就是一个分支,称之为master分支,也称之为主干分支。如果仅仅是一个分支,在某些情况并不能满足实际的需求,那么就需要创建多个不同的分支。

新创建的分支中会包含当前所在分支中的所有文件和文件夹。

git branch 分支名

查看分支

git branch -v

在这里插入图片描述

切换分支

git checkout 分支名称

此时新创建b.txt文件,add并且commit

在这里插入图片描述

但把分支切换成master,因为对应版本信息不一样,所以 b.txt文件不存在

在这里插入图片描述

创建分支并切换到该分支

git checkout -b <branch_name>

删除分支

# git branch -d 分支名称

虽然分支删除了,分支修改的文件仍然存在于 Git 数据库中,你可以通过其他分支或提交 ID 访问到这些文件

合并分支

在master创建master.txt并commit,创建并切换到b2分支,在b2分支创建branch.txt并commit

切换回master,此时master只有master.txt

在这里插入图片描述

合并

# git merge 要合并的分支名称
git merge new_branch

此时master有branch.txt了

在这里插入图片描述

合并冲突分支

master清空所有内容,新建a.txt, 新建分支c1,c2。 分别将a.txt内容修改成c1,c2

先将master的a.txt(空)和c1合并,成功合并
在这里插入图片描述

将master和c2合并

在这里插入图片描述

手动对master的a.txt进行修正为c1c2, 重新提交后查看日志

在这里插入图片描述

  • 24
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值