Git版本控制下的三种工程区域&文件状态

Git版本控制下的三种工程区域&文件状态

Git版本控制下的工程区域只有三种:
  1. 版本库(Repository)

    在工作区中有一个隐藏目录.git,这个文件夹就是Git的版本库,里面存放了Git用来管理该工程的所有版本数据,也可以叫本地仓库。

  2. 工作区(Working Directory)

    日常工作的代码文件或者文档所在的文件夹。

  3. 暂存区(Stage)

    一般存放在工程根目录.git/index文件中,所以我们也可以把暂存区叫做索引(index)。

Git版本控制下的文件状态只有三种:
  1. 已提交(committed)

    该文件已经被安全地保存在本地数据库中了。

  2. 已修改(modified)

    修改了某个文件,但还没有提交保存。

  3. 已暂存(staged)

    把已经修改的文件放在下次提交时要保存的清单中。

Git常用命令

在这里插入图片描述

工程准备

git init:用于在本地目录下新建git项目仓库

git clone:用于克隆远端工程到本地磁盘

查看工作区

git diff:用于比较项目中任意两个版本(分支)的差异,也可以用来比较当前的索引和上次提交间的差异

git status:命令用于显示工作目录和暂存区的状态

文件修改后提交推送

git add:新增文件到暂存区

git rm:将指定文件彻底从当前分支的缓存区删除,因此它从当前分支的下一个提交快照中被删除

git mv:命令用于移动文件,也可以用于重命名文件

git commit:主要是将暂存区里的文件改动提交到本地的版本库

git push:将本地版本库的分支推送到远程服务器上对应的分支

查看日志

git log:查看当前分支上的提交日志

分支管理

git branch:可查看本地工程的所有git分支名称

git checkout -b:新建分支

git branchgit checkout -b的异同:

  • 相同点:

    git branchgit checkout -b都可以用于新建分支(默认基于当前分支节点创建)

  • 区别点:

    git branch 新建分之后并不会切换到新的分支;

    git checkout -b 新建分之后会自动切换到新分支。

git branch -d:用来删除本地分支

git branch -D:也是用来删除本地分支的,但是大写表示强制删除

git checkout:命令除了创建分支,还用来切换分支,当然比较官方的叫法是“检出“

git pull:从远端服务器中获取某个分支的更新,再与本地指定的分支进行自动合并

常用的更新分支命令格式:git pull origin remote_branch:local_branch

git fetch:从远端服务器中获取某个分支的更新到本地仓库

注意git fetchgit pull不同,git fetch在获取到更新后,并不会进行合并操作(即git merge),这样能留给用户一个操作空间,确认git fetch内容符合预期后,再决定是否手动合并节点。

分支合并

git merge:用于从指定的分支(节点)合并到当前分支的操作

git会将指定的分支与当前分支进行比较,找出二者最近的一个共同节点base,之后将指定分支在base之后分离的节点合并到当前分支上。分之合并,实际上是分支间差异提交节点的合并。

git rebase:用于合并目标分支内容到当前分支

撤销操作

git reset:通常用于撤销当前工作区中的某些git add / commit操作,可将工作区内容回退到历史提交节点

git checkout .:用于回退本地所有修改而未提交的文件内容(谨慎使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值