Git 分支比较 git diff
【摘要】 一、前言git diff 用来比较文件之间的不同,其基本用法如下。git diff:显示工作目录(working tree)与索引区(即暂存区快照,就是git add过后的)之间的文件变更,即显示未被add的文件变更。git diff --cached 或 git diff --staged:显示索引区和最后一次commit(HEAD)之间的文件更改,即显示已add但还未commit的文件...
一、前言
git diff
用来比较文件之间的不同,其基本用法如下。
git diff
:显示工作目录(working tree
)与索引区(即暂存区快照,就是git add
过后的)之间的文件变更,即显示未被add
的文件变更。
git diff --cached
或 git diff --staged
:显示索引区和最后一次commit
(HEAD
)之间的文件更改,即显示已add
但还未commit
的文件变更。也即用"git commit
"(不带-a
)将被提交的文件变更。
git diff HEAD
:显示工作目录与最后一次commit
之间的文件变更,即显示所有未commit
(包括未add
和add
两类)的文件变更。也即用"git commit -a
”将被提交的文件变更。
git diff <分支名1> <分支名2>
:比较两个分支上最后 commit
的内容的差别。比如,先git fetch
下,然后比较远程的master
与当前分支已经commit
的内容差别:git diff origin/master origin/2201
。此时是以origin/master
分支为基础进行比较的,若把2201分支写在前面,则是以2201分支为基础进行比较的。 也可写作:git diff <分支名1>..<分支名2>
。
要查看具体有哪些文件发生了变化,可以加上--stat
参数:
git diff origin/master origin/2201 --stat
根据--stat
的结果可得到存在差异的文件列表,然后可用git diff
进一步查看该文件在两个分支中的差异:
git diff origin/master origin/2201 biz/src/main/java/com/sports/gerrard/biz/service/MarketingActivityService.java
二、延伸阅读 git merge 用法详解
应用git进行版本管理时,多团队成员协同开发过程中,代码合并操作十分常见。
2.1 开发分支(dev)上的代码达到上线标准后,合并到 master 分支
git checkout dev
git pull
git checkout master
git pull
# merge --no-ff参数,表示禁用Fast forward;可以保存之前的分支历史。能够更好的查看merge历史,以及branch状态.
#保证版本提交、分支结构清晰
git merge --no-ff dev
git push -u origin master
当master
分支为保护分支时,执行git push -u origin master
会提示远程服务器拒绝,此时需要在浏览器进行远程仓库merge
操作。
2.2 当master代码改动,需要更新开发分支(dev)上的代码
git checkout master
git pull
git checkout dev
# merge --no-ff参数,表示禁用Fast forward;可以保存之前的分支历史。能够更好的查看merge历史,以及branch状态.
#保证版本提交、分支结构清晰
git merge --no-ff master
git push -u origin dev
三、拓展阅读
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)