工作区和暂存区 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。 先来看名词解释。...所以,git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。...小结 暂存区是Git非常重要的概念,弄明白了暂存区,就弄明白了Git的很多操作到底干了什么。...Git管理的文件分为:工作区,版本库,版本库又分为暂存区stage和暂存区分支master(仓库) 工作区>>>>暂存区>>>>仓库 git add把文件从工作区>>>>暂存区,git commit...把文件从暂存区>>>>仓库, git diff查看工作区和暂存区差异
基本概念 工作区 在电脑中能看到的目录 工作区.jpg 此处的 initialize 文件夹可被看作为工作区 暂存区 一般存放在 .git 目录下的 index 文件中,也将暂存区称作索引 未提交的文件修改通通放在暂存区中...暂存区.jpg 版本库 工作区中的 .git 目录(.git 为隐藏目录) 版本库.jpg 添加文件到版本库中 把文件添加到暂存区中 把暂存区的所有内容提交到当前分支 添加暂存区 将工作区中的文件添加到暂存区...语法 git add 文件名 添加暂存区.jpg 添加完成之后查看本地库状态 添加完成查看.jpg 删除暂存区中的文件 只是将文件从暂存区中删除,工作区中的文件不受影响 语法 git rm --cached...文件名 删除暂存区中的文件.jpg 提交本地库 将暂存区中的文件提交到本地库 语法 git commit -m “日志信息” 文件名 提交本地库.jpg 查看日志信息 语法 git reflog 查看引用日志信息...1.jpg 提交暂存区 提交暂存区.jpg 查看状态 查看状态2.jpg 提交本地库 提交本地库2.jpg 查看版本信息 查看版本信息.jpg 历史版本 查看版本信息 语法 git reflog //
工作区 就是 git init 的目录,就是工程目录。 工作区下包含着版本库 .git 文件夹。 暂存区 暂存区就存在于 .git 版本库文件夹内。...一般存放在 .git 目录下的 index 文件(.git/index)中。 创建版本库的同时,会创建一个唯一的 master 分支。...git add 是往暂存区提交 git commit 是往 master分支提交 在实际开发中,这个作用很大,比如在编写一段时间的代码后,想要拉一下远程分支的代码,或者想回到之前的修改,但是又不想删掉这些修改...版本库 工作区有一个隐藏目录 .git,虽然这个目录在工作区的工程目录下,但是目录是管理git的。这个不算工作区,而是 Git 的版本库。...工作区中的文件的修改和 stage 暂存区中的修改都会被 git 监控到。 不同的区之前的修改是独立互不影响的。工作区中的修改是不会被 commit 的。只有暂存区的才会被 commit。 图片
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念,本文主要的目的就是给大家介绍清楚什么是暂存区. 一、工作区 Working Directory其实就是个文件夹。...GitRepository1文件夹就是个工作区。 ? 二、版本库 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。...所以,git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。 执行commit操作 ?...提交到暂存区 有时我们会将数据提交到暂存区后才发现有问题,需要撤销,我们来看看怎么办 ? ? git 提示告诉我们可以通过 git reset HEAD file撤销命令 ?...将修改从暂存区回退到工作区 ? 回退到工作区我们就可以通过 git checkout – read.txt撤销 ?
全文概要 Git与其它版本控制系统如SVN的一个最大的不同之处就是发明了暂存区的概念,本文从创建Git版本库开始,依次描述了追踪文件、修改文件、丢弃修改、提交修改等基本Git操作,在此过程中介绍了Git...工作区(Working Directory) ---- 就是你能在电脑中看到的目录,即本地目录,比如我的GitTest就是一个工作区,准确的来说,Git工作区应该指的是执行过git init初始化后的本地目录...如果你足够细心,不难发现一些有意思的事情:同样是追踪文件即将文件修改加入暂存区,两次执行git add命令的效果一样,但是Git给出的取消文件暂存命令提示不太一样: 将a.txt加入暂存区时,Git提示取消暂存的命令为...小结 ---- 工作区:本地目录,包含所有被Git追踪的文件的实时内容; 版本库:工作区中的.git文件夹,实际包含暂存区和当前分支指针HEAD,通过命令:git init可以初始化创建版本库; 暂存区...工作区文件修改后通过命令:git add ,将文件添加至暂存区。
最近发现本地仓库暂存区存储空间飙升了好几个G,然后发现我又不知道该怎么解决,问了一个同行群,发现可以使用Git gc清理仓库,一瞬间像是打开了新世界的大门,我居然从来不知道Git Gc………......git/refs/tags/v1.0 .git/refs/tags/v1.1 这时如果运行 git gc, refs 下的所有文件都会消失。...首先,加一个大文件进去: $ curl http://kernel.org/pub/software/scm/git/git-1.6.3.1.tar.bz2 > git.tbz2 $ git add...git.tbz2 $ git commit -am 'added git tarball' [master 6df7640] added git tarball 1 files...最后还是去掉它: $ git rm git.tbz2 rm 'git.tbz2' $ git commit -m 'oops - removed large tarball' [
Git 的工作流程图: Git 工作区、暂存区和版本库 基本概念 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫stage, 或index。...版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 工作区、版本库中的暂存区和版本库之间的关系图: 图中左侧为工作区,右侧为版本库。...当对工作区修改(或新增)的文件执行 "git add" 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。...当执行 "git rm --cached " 命令时,会直接从暂存区删除文件,工作区则不做出改变。 当执行 "git checkout ."...或者 "git checkout -- " 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。
——《人间失格》 如果我们不小心git add了不想提交的文件 可以使用 git reset HEAD -- [路径] 把我们在暂存区中的文件移除掉 但如果我们不小心git commit提交了,别担心...,也可以输入 git rm -r --cached [路径] 这样就可以避免把不该/不想提交的文件push到代码仓库了
1.首先在文件夹内初始化一个仓库 git init 2.创建一个文件 touch a.php 3.提交到暂存区 git add . 4.查询文件状态 git status 5.此时不想继续提交到版本库...,需要退回到工作区(首次退回) git rm --cached a.php 6.可以继续修改a.php文件操作 vim a.php 7.继续添加到暂存区 git add a.php 8.此时又不想提交(...首次之后的撤销退出暂存区) git reset HEAD a.php 9.可以多次提交 git commit -m"第一次提交" git commit -m"第二次提交" 10.恢复到上一个版本库内的版本...(慎重操作,会替换版本库内的当前版本) git checkout a.php 总结:首次撤销暂存区使用 cached,非首次撤销暂存区使用 reset HEAD ;返回版本库中上一个版本使用checkout
例如以下图所看到的: 左側为工作区,是我们的工作文件夹。 右側为版本号库,当中: index标记的是暂存区(stage),所处文件夹为.git/index,记录了文件的状态和变更信息。...表示对于welcome.txt文件,工作区中的文件和暂存区中的文件一致。明显是由于运行了git add操作使得工作区和暂存区中的文件内容同步。...工作区中的文件和暂存区中的文件内容不一致。...4.Git diff魔法 (1)暂存区和工作区比較:git diff $ git diff diff --git a/welcome.txt b/welcome.txt index 671036a..d6a88bb...+2 Git +3 Hello Git \ No newline at end of file (2)HEAD和暂存区比較:git diff –cached $ git diff --cached
分享一段代码,pipe的一个使用案例 /* pipeServer.c - reads requests over pipe */ #include <std...
一、Git的工作区、暂存区和版本库之间的区别和联系 1)工作区 在PC中能看得到的创建的一个管理仓库的目录。比如目录下GitTest里的文件(.git隐藏目录版本库除外)。...或者以后需要再新建的目录文件等等都属于工作区范畴。 ? 2)版本库(repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 ...3)联系 在初始化git版本库之后会生成一个隐藏的文件 .git ,可以将该文件理解为git的版本库 repository,而我们自己建立的项目文件夹即工作区 working directory...前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的: 第一步是:用git add把文件添加进去,实际上就是把文件修改添加到暂存区; 第二步是:用git commit提交更改...现在我们先使用git add . 命令把2个文件都添加到暂存区中,再使用git status来查看下状态,如下: ?
git commit -m "我把文件存到Git仓库了啊" 1、场景一:小明“不小心”把工作区的hello.txt手动删除了。...deleted: hello.txt no changes added to commit (use "git add" and/or "git commit -a") Git发现工作区和仓库版本不一样...事实上Git已经提醒了,rm或者checkout 1.1 小明没有不小心,他确实要把文件删除 先删除 git rm hello.txt 再提交 git commit -m "i wanna remove...Git也帮不了他。...2、场景二:小红想把Git仓库和暂存区的文件删除,但是保留工作区的文件,怎么办? Git帮她 git rm --cached hello.txt 文件还在磁盘上,就是不知道是不是小红需要的:0
git status 查看工作区和暂缓区状态 git add 将工作区放入暂缓区 git commit 将暂缓区放入 版本区 git add 把修改过的文件全部提交到暂缓区 git commit -m...–list 查看所有 git diff 工作区与暂缓区的对比 git diff –cached 暂缓区与 版本区的对比 也可用 git diff –staged git add .修改过的文件全部提交到暂存区...(不能跳过暂存区,直接提交到版本区) 文件对比 git diff 工作区与暂存区之间的对比 git diff –cached (git diff –staged)暂存区与版本区之间的对比 git diff...master 工作区与版本区的对比 撤销 git reset HEAD “文件名字” 从暂存区还原到工作区 git checkout “文件名字” 将版工作区还原到版本区的状态 git commit...git rm -f 文件名 工作区不删除的情况下 删除暂存区的文件。(工作区和暂存区一起删除) git rm –cached 文件名 工作区不删除的情况下 删除暂存区的文件。
git status 查看工作区和暂缓区状态 git add 将工作区放入暂缓区 git commit 将暂缓区放入 版本区 git add 把修改过的文件全部提交到暂缓区 git commit...查看 git config --list 查看所有 git diff 工作区与暂缓区的对比 git diff --cached 暂缓区与 版本区的对比 也可用 git diff...(不能跳过暂存区,直接提交到版本区) 文件对比 git diff 工作区与暂存区之间的对比 git diff --cached (git diff --staged)...暂存区与版本区之间的对比 git diff master 工作区与版本区的对比 撤销 git reset HEAD "文件名字" 从暂存区还原到工作区 git checkout...(工作区和暂存区一起删除) git rm --cached 文件名 工作区不删除的情况下 删除暂存区的文件。
Git管理重命名文件 当我们在git里完成了一些操作,然后添加了当前修改的一些文件到暂存区后准备下一步的开发,但是在下一步的开发中,我们修改了一些文件的文件名,比如后缀名改了之类的操作时,我们再次add...那之后按照流程我们需要将test.cpp加入到暂存区,然后将暂存区已有的文件删除。 ? 那么这么一番操作下来,git 察觉到的情况是我们将文件重命名了。 ?...不过,这个过程好复杂,就是简简单单地重命名一个文件,竟然要执行3次操作,包含本地重命名一次加对暂存区的两次操作,其实,是可以用git 重命名操作简化这个流程的。 ?...这个时候,我就需要然后之前add到暂存区的内容,还有最近一次commit之后现在我本地工作区的修改内容都还原。我们可以使用一条比较“危险”的指令 ?...这一条指令为 git reset --hard 它将当前的缓存区清空,且本地工作目录复原到仓库的Head处,也就是最近一次commit的提交 ?
前言 ---- git mv 命令用于移动或重命名一个文件、目录或软连接。 它会将内容从工作区和暂存区中重命名,手动重命名需要执行两步操作,git mv 一步即可 2....使用示例 ---- 创建一个 git 仓库并且做一个提交记录 git init echo 1.log >> 1.log echo 2.log >> 2.log git add . git commit...-m 'first commit' 将 1. log 重命名为 10.log(mv 命令) mv 1.log 10.log git add 1.log 10.log 将 2. log 重命名为 20....log(git mv 命令) git mv 2.log 20.log 总结: 手动重命名需要执行两步操作,使用 git mv 一个命令即可完成重命名 # 提交到版本库 git commit -m '重命名文件..., --verbose 重命名成功时默认不会提示,使用该参数可以看到提示 git mv -v
Git学习(一) 学习github一定要学会git,否则在后续的github运用中会出现很多问题。 1.安装Git: Mac自带Git,Windows需要自己安装。...:git log 让信息整齐显示的命令:git log --pretty=oneline 让Git回退到上一个版本:git reset --hard HEAD^` 记录每一条命令:git reflog...工作区和暂缓区: 工作区和暂缓区的区别:工作区:.git外,暂缓区:.git里。...查看工作区和版本库里面最新版本的区别:git diff HEAD -- readme.txt 丢弃工作区的修改:git checkout -- readme.txt 把暂缓区的修改撤销掉:git reset...HEAD readme.txt (添加过的修改,撤销分两步:1.是先撤销暂缓区的add:git reset HEAD readme.txt;2.然后撤销工作区的修改:git checkout readme.txt
学习目的 工作区: 在电脑里能看到的目录,比如我的GIT文件夹就是一个工作区; 暂存区: 查看仓库当前状态; 分支: Git为我们自动创建的第一个分支master....工作区 在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区。 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。...提交文件(git commit)到分支(master) $ git commit -m "提交工作区、暂存区、分支测试" [master 500dcea] 提交工作区、暂存区、分支测试 1 file...小结 工作区: 在电脑里能看到的目录,比如我的GIT文件夹就是一个工作区; 暂存区: 查看仓库当前状态; 分支: Git为我们自动创建的第一个分支master....如果修改文件,先修改的是工作区,然后用git add添加到暂存区,最后用git commit提交修改文件到当前分支。
SVN是集中式版本控制,git是分布式版本控制。git管理的代码的所有版本既可以保存到服务器也可以保存到本地。...工作原理: stage:暂缓区 master:主干 提交的时候要把新文件提交到暂缓区(git add ....:是添加到暂缓区),然后再添加到master git init:创建一个仓库 touch liangsen.h:创建一个.h文件 git commit -m “说明”:提交 git reflog...git 的版本号 31c42e8fb9a1d7c3007bffc7af352d7d4ba8dffb MD5编码后字符串 修改文件之后再提交 修改文件也要把文件先添加到暂缓区里面 版本回退 git...日志格式 分支: git branch:查看所有分支 git branch v1:查看指定分支/创建分支 git checkout v1:切换到分支 git checkout master
领取专属 10元无门槛券
手把手带您无忧上云