git 各个区的区别
Git有三大区(工作区、暂存区、版本库)以及几个状态(untracked、unstaged、uncommited)
把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用 git add
把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用 git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个 master
分支,所以,现在,git commit
就是往 master
分支上提交更改。
Untracked(未跟踪)
3、git
add
命令实际上就是把要提交的所有修改放到暂存区(Stage),Git便会在暂存区中生成一个该文件的索引,文件此时处于uncommited状态git commit
就可以一次性把暂存区的所有修改提交到分支。git diff 比较文件
git diff filepath 工作区与暂存区比较
git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较
git diff --staged 或 --cached filepath 暂存区与HEAD比较
git diff branchName filepath 当前分支的文件与branchName 分支的文件进行比较
git diff commitId filepath 与某一次提交进行比较
仅仅删除暂存区里的文件
git rm --cache 文件名
删除暂存区和工作区的文件
git rm -f 文件名
删除错误提交的commit,也可称为版本回退
撤销已提交的版本库,不会修改暂存区和工作区
git reset --soft 版本库ID
撤销已提交的版本库和暂存区,不会修改工作区
git reset --mixed 版本库ID
彻底将工作区、暂存区和版本库记录恢复到指定的版本库
git reset --hard 版本库ID
相关文章:GIT工作区、暂存区、版本库之间的关系
git 各个区的区别的更多相关文章
- git commit -m 与 git commit -am的区别
字面解释的话,git commit -m用于提交暂存区的文件:git commit -am用于提交跟踪过的文件 要理解它们的区别,首先要明白git的文件状态变化周期,如下图所示 工作目录下面的所有文件 ...
- git rm与git rm --cached的区别
git rm与git rm --cached的区别 当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用. git rm file_path git commit -m 'd ...
- git fetch和git pull之间的区别--转载
原文地址:http://blog.csdn.net/a19881029/article/details/42245955 git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢 ...
- git init 与 git init --bare 的区别
git init 和 git init –bare 的区别 使用命令"git init --bare"(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repos ...
- TortoiseGit学习系列之Git和TortoiseGit的区别
不多说,直接上干货! Git和TortoiseGit的区别: TortoiseGit的安装和使用依赖Git.
- Git学习系列之Git和TortoiseGit的区别
不多说,直接上干货! Git和TortoiseGit的区别: TortoiseGit的安装和使用依赖Git. Git有且只有一个,就是linux最初创建的那个叫做Git的程序.现在的维护者的名字我懒得 ...
- Git GUI,Git Bash,Git CMD之间的区别
Git GUI,Git Bash,Git CMD之间的区别 Git Bash: Bash,Unix shell的一种,Linux与Mac OS X v10.4都将它作为默认shell.Git Bash ...
- todo...git ssh http的区别
todo...git ssh http的区别 https://www.jianshu.com/p/2cced982009f https://www.cnblogs.com/skating/p/6296 ...
- git init和git init –bare的区别:
感谢原文作者:ljchlx 原文链接:https://blog.csdn.net/ljchlx/article/details/21805231 git init 和 git init –bare 的 ...
随机推荐
- SpringMVC Controller 介绍(详细深刻)
一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Mo ...
- web 应用中访问 Spring 具体实现
user=LF password=LF jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl driverClass=oracle.jdbc.driver.Ora ...
- Ubuntu 查看软件版本
Boost dpkg -S /usr/include/boost/version.hpp OpenCV pkg-config --modversion opencv
- 现代C++学习笔记之二入门篇1
现代 C++ 强调: 基于堆栈的范围,而非堆或静态全局范围. 自动类型推理,而非显式类型名称. 智能指针而不是原始指针. std::string 和 std::wstring 类型(请参见 <s ...
- javascript总结17:javascript 函数简介
1 释义:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. 2 格式:通过 function 关键字. function test(){ alert("您好"); } ...
- javascript总结13:循环语句
1 While循环 While(条件表达式){ 只要条件表达式结果为true,循环一直执行,当条件表达式结果为false的时候,循环终止 } While循环语句需现在循环体外定义变量. 2 for循环 ...
- Highway Networks(高速路神经网络)
Rupesh Kumar Srivastava (邮箱:RUPESH@IDSIA.CH)Klaus Greff (邮箱:KLAUS@IDSIA.CH)J¨ urgen Schmidhuber (邮箱: ...
- Floyd-Warshall求图中任意两点的最短路径
原创 除了DFS和BFS求图中最短路径的方法,算法Floyd-Warshall也可以求图中任意两点的最短路径. 从图中任取两点A.B,A到B的最短路径无非只有两种情况: 1:A直接到B这条路径即是最短 ...
- [原创]java:Stream、Socket等源码分析
一.对于java启动之后的线程的说明 java在启动后会有几个特殊线程: 1.main线程,主线程 2.JVM线程,虚拟机的线程 3.GC垃圾回收线程,是个守护线程 4.EDT&Toolkit ...
- LeftStr函数使用
LeftStr(s, i); 表示返回字符串s的左边共I位字符的一个新字符串. var i: integer; s: string; result: string; begin i := ; s := ...