用于比较两次修改的差异 1.1 比较工作区与暂存区 git diff 不加参数即默认比较工作区与暂存区 1.2 比较暂存区与最新本地版本库(本地库中最近一次commit的内容) git...diff --cached [...] 1.3 比较工作区与最新本地版本库 git diff HEAD [...] ...如果HEAD指向的是master分支,那么HEAD还可以换成master 1.4 比较工作区与指定commit-id的差异 git diff commit-id [......] 1.5 比较暂存区与指定commit-id的差异 git diff --cached [commit-id>] [...] 1.6 比较两个commit-id...之间的差异 git diff [commit-id>] [commit-id>] 1.7 使用git diff打补丁 git diff > patch //patch的命名是随意的
1. git diff 常规用法 git diff 可以用来比较在git仓库中的两次提交或两个文件的diff,常见用法如下: # 显示当前代码与最新commit的代码之间的差别 git diff #...显示暂存(也就是已经git add 但还没有git commit)的代码提交 git diff --staged # 显示当前代码与commit-id>时代码的区别 git diff commit-id...> # 显示暂存代码与commit-id>时代码的区别 git diff --staged commit-id> # 显示两次commit-id之间的代码区别 git diff git仓库目录中来执行git diff --no-index,例如比较两个文件: git diff --no-index ~/a.py ~/b.py 比较两个目录: git diff...no-index ~/folder-a ~/folder-b One More Thing 其实我之前写过一个比较两个目录的Python工具dompare(名字含义是directory compare),通过执行一条命令得到得到两个目录中文件的
所以,Git会在你执行revert之前要求你提交或者缓存你工作目录中的更改。...diff # 比较 工作区和Index的所有文件差异 git diff --cached # 比较 Index和HEAD的所有文件差异 git diff [--cached]...#比较指定文件 git diff commit-id [file...] # 比较 工作区与commit-id版本的[所有|指定]文件 # commit-id...] # 比较 工作区与本地库 git diff --cached commit-id [file...]...#比较 Index和commit-id的版本 git diff commit-id1 commit-id2 # 比较两个commit-id的版本之间的差异 补丁 #生成补丁 git diff [--
git diff 常规用法git diff 可以用来比较在git仓库中的两次提交或两个文件的diff,常见用法如下:# 显示当前代码与最新commit的代码之间的差别 git diff # 显示暂存...(也就是已经git add 但还没有git commit)的代码提交 git diff --staged # 显示当前代码与commit-id>时代码的区别 git diff commit-id...> # 显示暂存代码与commit-id>时代码的区别 git diff --staged commit-id> # 显示两次commit-id之间的代码区别 git diff .../to/file.py # 也可用git的参数终止符号--,避免文件名和参数重名时将文件名解析为参数 git diff -- /path/to/file.pygit diff 妙用git diff...实际操作中,需要在一个git仓库目录中来执行git diff --no-index,例如比较两个文件:git diff --no-index ~/a.py ~/b.py比较两个目录:git diff -
commit-id 目录 展示帮助信息 回到远程仓库的状态 重设第一个commit 查看冲突文件列表 展示工作区和暂存区的不同 展示暂存区和最近版本的不同 展示暂存区、工作区和最近版本的不同 快速切换到上一个分支...git diff 还可以显示本地仓库中任意两个 commit 之间的文件变动: git diff commit-id> commit-id> 显示暂存区和最近版本的不同 输出暂存区和本地最近的版本...git diff --cached 显示暂存区、工作区和最近版本的不同 输出工作区、暂存区 和本地最近的版本 (commit) 的 different (不同)。...如果还要提交,直接 commit 即可 git reset –hard commit-id> # 彻底回退到指定 commit-id 的状态,暂存区和工作区也会变为指定 commit-id 版本的内容...fetch origin pull//head: 详细显示一行中的更改 git diff --word-diff 清除 gitignore 文件中记录的文件 git clean
git diff 还可以展示本地仓库中任意两个 commit 之间的文件变动: git diff commit-id> commit-id> 展示暂存区和最近版本的不同 输出暂存区和本地最近的版本...git diff --cached 展示暂存区、工作区和最近版本的不同 输出工作区、暂存区 和本地最近的版本 (commit) 的 different (不同)。...如果还要提交,直接commit即可 git reset –hard commit-id> #彻底回退到指定commit-id的状态,暂存区和工作区也会变为指定commit-id版本的内容 修改上一个... -b 执行 rebase 之前自动 stash git rebase --autostash 从远程仓库根据 ID,拉下某一状态,到本地分支 git...fetch origin pull//head: 详细展示一行中的修改 git diff --word-diff 清除 gitignore 文件中记录的文件 git clean
git diff 还可以展示本地仓库中任意两个 commit 之间的文件变动: git diff commit-id> commit-id> 展示暂存区和最近版本的不同 输出暂存区和本地最近的版本(...git diff --cached 展示暂存区、工作区和最近版本的不同 输出工作区、暂存区 和本地最近的版本(commit)的 different(不同)。...> 一次性推送所有标签,同步到远程仓库: git push origin --tags 删除本地标签 git tag -d 删除远程标签 删除远程标签需要先删除本地标签,再执行下面的命令...如果还要提交,直接commit即可 git reset –hard commit-id> #彻底回退到指定commit-id的状态,暂存区和工作区也会变为指定commit-id版本的内容 修改上一个... -b 执行 rebase 之前自动 stash git rebase --autostash 从远程仓库根据 ID,拉下某一状态,到本地分支 git
git diff 还可以显示本地仓库中任意两个 commit 之间的文件变动: git diff commit-id> commit-id> 显示暂存区和最近版本的不同 输出暂存区和本地最近的版本...git diff --cached 显示暂存区、工作区和最近版本的不同 输出工作区、暂存区 和本地最近的版本 (commit) 的 different (不同)。...,再执行下面的命令: git push origin :refs/tags/ 切回到某个标签 一般上线之前都会打 tag,就是为了防止上线后出现问题,方便快速回退到上一版本。...如果还要提交,直接 commit 即可git reset –hard commit-id> # 彻底回退到指定 commit-id 的状态,暂存区和工作区也会变为指定 commit-id 版本的内容...,到本地分支 git fetch origin pull//head: 详细显示一行中的更改 git diff --word-diff 清除 gitignore 文件中记录的文件
git fetch 获取远程仓库最新数据,但不自动合并。 git remote remove 删除远程仓库连接。 查看与对比 命令 作用 git diff 查看工作区未暂存的更改。...git diff --staged 查看暂存区的更改。 git log --oneline 简洁地查看提交历史。 git show commit-id> 查看某次提交的详细信息。...git restore 撤销文件修改(新命令)。 git reset HEAD 将文件从暂存区移回工作区。...git reset --soft commit-id> 回退到某提交,保留所有改动。 git reset --mixed commit-id> 回退并清除暂存区,但保留工作区改动。...git reset --hard commit-id> 回退并清除所有改动。 git revert commit-id> 生成一个新提交,撤销某次提交内容。 ️
git diff 还可以展示本地仓库中任意两个 commit 之间的文件变动: git diff commit-id> commit-id> 展示暂存区和最近版本的不同 输出暂存区和本地最近的版本...git diff --cached 展示暂存区、工作区和最近版本的不同 输出工作区、暂存区 和本地最近的版本 (commit) 的 different (不同)。...如果还要提交,直接commit即可 git reset –hard commit-id> #彻底回退到指定commit-id的状态,暂存区和工作区也会变为指定commit-id版本的内容 修改上一个...git clone repo.bundle -b 执行 rebase 之前自动 stash git rebase --autostash 从远程仓库根据...ID,拉下某一状态,到本地分支 git fetch origin pull//head: 详细展示一行中的修改 git diff --word-diff 清除 gitignore
例如,如果使用git revert commit-id, 那么只会会退commit-id 对应的那次提交,之后的提交不受影响,仍然存在,不是我们想要的效果。...如果使用git reset, 那操作就比较麻烦,需要使用--hard 和--force 等比较危险的命令,具体如下: git reset --hard commit-id git push --force...搜索发现,利用git diff和git apply可以来比较清晰的完成这个需求,整体的思路是: 得到当前最新提交到回退提交之间的代码diff,将diff保存为文件 利用git apply 将diff作用到代码上...执行命令如下: git checkout prev-commit git diff current-branch > ~/diff.patch git checkout current-branch cat...~/diff.patch | git apply git commit -am "roll back to prev-commit" git push 这样就能既回退代码,又保留提交历史。
上图是git中的文件的状态图,在下面的命令中,大家可以对照着去看一下,更好地理解各个命令执行后文件的状态。...每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与...https://www.jianshu.com/p/0805b5d5d893 git log --oneline --graph (以一行的形式显示,并且能够以图形的方式看到分支) git diff 通常用来查找你当前工作目录和上次提交与本地索引间的差异...$ git diff 上面的命令会显示在当前的工作目录里的,没有 staged(添加到索引中,没有用add去stage),且在下次提交时 不会被提交的修改。...$ git diff HEAD 上面这条命令会显示你工作目录与上次提交时之间的所有差别,这条命令所显示的 内容都会在执行"git commit -a"命令时被提交。
删除工作区文件,并且将这次删除放入暂存区 git rm file1 ......diff.txt 文件中(追加到 diff.txt 文件内容) git diff branchA >> diff.txt 分支 前仓库中存在的所有分支列表 git branch 查看远程分支 git...git diff master..test 当前工作目录和上次提交与本地索引之间的差异 git diff 当前分支与其他分支的不同 git diff test 查看工作区和版本库里面最新版本的区别:...diff commit-id> commit-id> 输出暂存区和本地最近的版本 (commit) 的 different (不同) git diff --cached 输出工作区、暂存区 和本地最近的版本...fork的项目如何同步仓库源的最新更新 //查看项目远程仓库配置,如果没有源的地址则新增 git remote -v //添加源项目地址 git remote add tata(随便一个名称) url(
当执行 "git rm --cached " 命令时,会直接从暂存区删除文件,工作区则不做出改变。 当执行 "git checkout ."...它可以在不增加一个新的 commit-id 的情况下将新修改的代码追加到前一次的 commit-id 中。...通过git log -g命令来找到需要恢复的信息对应的 commitid,可以通过提交的时间和记录来辨别, 找到执行reset --hard之前的那个 commit 对应的 commit-id 通过git...diff 1 2 3 4 5 6 git diff XX # 查看 XX 文件修改了哪些内容 git diff # 工作目录和暂存区 git diff --cached...# 暂存区和本地仓库 git diff HEAD # 工作目录和本地仓库 git diff --stat # 显示信息摘要 rm, mv 1 2 3 4 5 git rm
引言 要点 描述 痛点 不知道如何使用Git平台?不熟悉Git的全面操作?不会高效协作开发?...commit message" # 将当前更改添加到最后一次提交 git commit --amend --no-edit 3.5 查看工作区与暂存区的差异 # 查看工作区与暂存区的差异 git diff...# 查看指定文件在工作区与暂存区的差异 git diff # 例如:git diff index.html # 查看暂存区与本地仓库的差异 git diff --staged # 或...,重置暂存区,但保留工作区的更改 git reset --mixed commit-id> # 或简写为 git reset commit-id> # 例如:git reset abc123 #...自动化工作流配置 自动化工作流可以帮助你节省时间,提高效率。下面介绍如何在三大平台上配置基本的自动化工作流。
" 注意 可以多次git add ,最后一次git commit 查看工作区当前状态 $ git status 时光穿梭 $ git reset --hard commit-id 确定版本回退commit-id...~100,往上100个版本 确定重返未来commit-id 通过查看命令历史 $ git reflog 工作区与暂存区 工作区就是电脑中能看到的目录,工作区有一个隐藏目录.git,这是Git的版本库 管理修改...修改但未add 比较工作区与暂存区(即上次git add的内容)的不同 比较所有修改文件的不同 $ git diff 比较指定修改文件的不同 $ git diff 修改已add...但未commit 比较暂存区与仓库分支(上次git commit)的不同 $ git diff --staged 或 $ git diff --cached 撤销修改 场景1——工作区已修改但未add到暂存区...只对尚未推送或尚未分享给别人的本地修改执行变基操作清理历史,从不对已推送至别处的提交执行变基操作 标签管理 发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本
Git 常用指令 1、配置全局用户名和邮箱 1. >> git config --global user.name 2. >> git config --global user.email...6、查看git的配置 1. >> git config 2. >> git config -l 7、克隆git项目 1. >> git clone git@192.168.33.6:com/apps...(执行完git add 和git commit) 1. >> git log -3##获取到需要回退到的commit-id 2. >> git reset --hard 'commit-id' 13、合并.../for/master l b、reset 1. >> git reset HEAD~--hard 2. >> git pull 16、比较版本差异 1. >> git diff master dev...//--stat 显示文件列表, 否则是文件内容diff
git diff 展示暂存区和最近版本的不同 输出暂存区和本地最近的版本(commit)的different(不同)。...git diff --cached 展示暂存区、工作区和最近版本的不同 输出工作区、暂存区 和本地最近的版本(commit)的different(不同)。...commit id之后的所有commit git reset commit-id> 修改上一个commit的描述 git commit --amend 查看commit历史 git log 显示本地执行过...B分支上 这个过程需要cherry-pick命令,参考 git checkout && git cherry-pick commit-id> 给git命令起别名 简化命令...tag git describe --tags --abbrev=0 详细展示一行中的修改 git diff --word-diff 清除.gitignore文件中记录的文件 git clean -X