Git初入门笔记 2020.6.23

Git使用的理论基础

git 通过维护三棵树来进行版本维护
  • 工作区域 Working Directory
  • 暂存区域 Stage(Index)
  • Git仓库 Repository(HEAD)

img

工作流程
  1. 在工作目录中添加 修改文件
  2. 将需要进行版本管理的文件放入暂存区域
  3. 将暂存区域的文件提交到Git仓库
文件状态
  • 已修改 modified
  • 已暂存 staged
  • 已提交 committed

使用Git

创建工作目录

在命令提示符中, 切换到对应目录, 输入 git init

此时对应文件夹中会出现 .git文件夹, 是Git用来追踪这个文件夹来管理版本迭代的

创建 README 文件

在 README 描述项目 (注意编码选择)

将工作目录的文件放到Git仓库:

git add README.md //提交到暂存区域
git commit -m "add a readme file" //将暂存区域的内容提交到Git参考

"add a readme file"为说明注释

回到过去
git reset --mixed HEAD~n

移动HEAD的指向, 将其指向上n个快照(不填则为1)

  • 默认的mixed参数:

  • 重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。

  • soft 参数:重置位置的同时,保留working Tree工作目录index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。

  • hard参数:重置位置的同时,直接将 working Tree工作目录index 暂存区repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。

(参考: https://www.jianshu.com/p/c2ec5f06cf1a)
在这里插入图片描述
在这里插入图片描述

git checkout
查看状态
git status

会显示哪些内容还没提交到暂存区域

查看历史提交
git log

历史版本id可以在使用时只写前几位

参数:

  • –oneline 每条日志的输出将只为1行
  • –decorate 用来显示一些相关信息, 如HEAD, 分支名…
  • –graph 以图形显示分支(配合decorate使用)
  • –all 显示所有分支
比较
比较暂存区域和工作目录
git diff
比较两个历史快照
git diff 快照1的ID 快照2的ID
比较当前工作目录和Git仓库中的快照
git diff 快照ID //可以HEAD

比较暂存区域和Git仓库的快照

git diff --cached 快照ID
修改最后一次提交
git commit --amend
删除
git rm 文件名

该命令删除的只是工作目录和暂存区域里的文件, 也就是取消跟踪, 在下次提交时不纳入版本管理

git rm --f 文件名

force removal 暴力删除工作目录和暂存区域里的所有同名文件

git rm --cached 文件名

只删除暂存区域的文件, 而保留工作目录的

重命名
git mv 旧文件名 新文件名

Git分支

创建分支
git branch 分支名
切换分支
git checkout 分支名
合并分支
git merge 分支名
删除分支
git branch -d 分支名

(删除的不是快照本身, 而是快照的名字)

匿名分支

可以用来做实验

checkout命令整理

有两种功能:

  • 从暂存区域或历史快照拷贝到工作目录

    git checkout HEAD~ --README.md //从快照的上一个版本复制过去
    git checkout --README.md //直接从暂存区复制过去
    
  • 切换分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值