【git】Git diff 常见用法

Git diff

     用于比较两次修改的差异

    1.1 比较工作区与暂存区

      git diff 不加参数即默认比较工作区与暂存区

    1.2 比较暂存区与最新本地版本库(本地库中最近一次commit的内容)

      git diff --cached [<path>...]

    1.3 比较工作区与最新本地版本库

      git diff HEAD [<path>...] 如果HEAD指向的是master分支,那么HEAD还可以换成master

    1.4 比较工作区与指定commit-id的差异

      git diff commit-id [<path>...]

    1.5 比较暂存区与指定commit-id的差异

      git diff --cached [<commit-id>] [<path>...]

    1.6 比较两个commit-id之间的差异

      git diff [<commit-id>] [<commit-id>]

    1.7 使用git diff打补丁

      git diff > patch //patch的命名是随意的,不加其他参数时作用是当我们希望将我们本仓库工作区的修改拷贝一份到其他机器上使用,但是修改的文件比较多,拷贝量比较大,

      此时我们可以将修改的代码做成补丁,之后在其他机器上对应目录下使用 git apply patch 将补丁打上即可

      git diff --cached > patch //是将我们暂存区与版本库的差异做成补丁

       git diff --HEAD > patch //是将工作区与版本库的差异做成补丁

      git diff Testfile > patch//将单个文件做成一个单独的补丁

    拓展:git apply patch 应用补丁,应用补丁之前我们可以先检验一下补丁能否应用,git apply --check patch 如果没有任何输出,那么表示可以顺利接受这个补丁

       另外可以使用git apply --reject patch将能打的补丁先打上,有冲突的会生成.rej文件,此时可以找到这些文件进行手动打补丁 

原文地址:https://www.cnblogs.com/opensmarty/p/11044706.html

时间: 2024-10-13 05:02:09

【git】Git diff 常见用法的相关文章

4. git log的常见用法

git log ======见https://blog.csdn.net/daguanjia11/article/details/73823617 +++++++++++++++++++++++ 使用git log命令,什么参数都没有的话,会以下面的格式输出所有的日志(我当前的git仓库只有三个提交).如果日志特别多的话,在git bash中,按向下键来查看更多,按q键退出查看日志. $ git log commit c08099d1cf05fdc541752b049a91b92bdcf78a1

git diff的用法

git diff的用法 在git提交环节,存在三大部分:working tree, index file, commit 这三大部分中:working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了.index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了.commit:是最后的阶段

【git】Git branch &amp;&amp; Git checkout常见用法

git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.Git branch 一般用于分支的操作,比如创建分支,查看分支等等, 1.1 git branch 不带参数:列出本地已经存在的分支,并且在当前分支的前面用"*"标记 1.2 git branch -r 查看远程版本库分支列表 1.3 git branch -a 查看所有分支列表,包括本地和远程 1.4 git branch dev 创建名为dev的分支,创建分支时需要是最新的环境,创建分支

GIT基本概念和用法总结【转】

在日常使用GIT过程中,经常会出错,比如无意间丢失了未提交的数据,回退版本时丢失了工作目录,等等.经过思考发现,所有这些错误都是因为对GIT中一些基本的概念模糊而导致,因为对一些基本概念不清晰,导致对GIT每一条命令将会产生的结果不符合预期.下面我就梳理以下我经常碰到的问题相关的基本概念. 1. Working Directory(工作目录) Git的工作目录是保存当前正在工作的文件所在的目录,和working tree是相同的意思.在这个目录中的文件可能会在切换branch时被GIT删除或者替

Git与Github常用用法

Git安装 http://www.liaoxuefeng.com/ Git配置用户信息: git config –global user.name "SCOTT" git config –global user.email [email protected] Git激活仓库 cd newDir git init Git查看当前状态 git status Git比较与修改后文件的差异 git diff Git添加修改后的文件 git add files Git提交修改的文件 git co

初探Git git基本用法

Git 是当前最流行的版本控制程序之一,文本包含了 Git 的一些基本用法 创建 git 仓库 初始化 git 仓库 mkdir project # 创建项目目录 cd project # 进入到项目目录 git init # 初始化 git 仓库.此命令会在当前目录新建一个 .git 目录,用于存储 git 仓库的相关信息 初始化提交 touch README git add . # 将当前目录添加到 git 仓库中, 使用 git add -A 则是添加所有改动的文档 git commit

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree pull --no-commit origin dev From https://git.oschina.net/**

[SourceTree] - 提交代码失败 &quot;git -c diff.mnemonicprefix=false -c core.quotepath=false&quot; 之解决

背景 使用 SourceTree 提交代码失败,尝试了重装 SourceTree 和 Git 问题依旧. 错误信息 git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push -v --tags origin DEV:DEV fatal: unable to access 'https://bitbucket.org/xxxxxx/spread-talent-system.git/': Rec

git 的最简洁用法

新建项目 克隆项目 切换至项目目录 $ cd 项目目录 $ git clone [email protected]:xxx/ProjectName.git  === git clone 远程代码库的链接 添加 gitignore 提示: 从 https://github.com/github/gitignore 获取最新版本的 gitignore 文件