git diff hash1 hash2 --stat
-
test | 4 ++--
-
test2 | 3 ++-
-
2 files changed, 4 insertions(+), 3 deletions(-)
git diff <local branch> <remote>/<remote branch>
git log origin/master path 查看远程分支的log
1.本地与远程的差集 :(显示远程有而本地没有的commit信息)
2.统计文件的改动
git log local_branch..origin/remote_branch
git diff --stat local_branch origin/remote_branch
git log --since="2020-02-01" --pretty=format:"%cd %h %s"
作者:匿名用户
链接:https://www.zhihu.com/question/53601264/answer/135801911
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
git diff hash1 hash2 filename #查看不同commit中一个文件的差异
git diff hash1 hash2 filename > patch_name
git log --name-only
git show commit_id --name-only
git branch --contains commit_id
git diff tag 比较tag和HEAD之间的不同。
git diff tag file 比较一个文件在两者之间的不同。
git diff tag1..tag2 比较两个tag之间的不同。
git diff SHA11..SHA12 比较两个提交之间的不同。
git diff tag1 tag2 file or
git diff tag1:file tag2:file 比较一个文件在两个tag之间的不同。
git
log
file 查看一个文件的改动。
git
log
-p 查看日志和改动。
git
log
tag1..tag2 查看两个tag之间的日志。
git
log
-p tag1..tag2 file 查看一个文件在两个tag之间的不同。
git
log
tag.. 查看tag和HEAD之间的不同。
git log --pretty=oneline
git log origin/master -n 3
origin/master看到的是本地pull过来时的origin/master的指针
如果有人提交了代码到远程仓库,本地不进行git pull时, git log origin/master是不会看到别人的提交记录的,需要git pull后才能看到
本地仓库没有更新(git remote update),不可能看到远端仓库的log(git log origin/master)
如果你只是不希望影响到本地仓库的代码(远端与本地做merge),你可以按如下命令来做:
git remote update # 本地仓库更新,拿到远端的所有元数据(objects)
git log origin/$BRANCH # $BRANCH就是你的远端branch
如果你只是不希望影响到本地仓库的代码(远端与本地做merge),你可以按如下命令来做:
git remote update # 本地仓库更新,拿到远端的所有元数据(objects)
git log origin/$BRANCH # $BRANCH就是你的远端branch
git log --oneline --decorate --graph
git log --pretty --graph --oneline
https://zhuanlan.zhihu.com/p/26227256
http://blog.csdn.net/u011240877/article/details/52586664
比如我们有 2 个分支:master, dev,现在想查看这两个 branch 的区别,有以下几种方式:
1.查看 dev 有,而 master 中没有的:
git log dev ^master
git difftool c4a688 c4a688^ #比较c4a688和前一个commit之间的区别。
同理查看 master 中有,而 dev 中没有的内容:
git log master ^dev
同理查看 master 中有,而 远程分支中没有的内容:
git log master ^origin
2.查看 dev 中比 master 中多提交了哪些内容:
git log master..dev
注意,列出来的是两个点后边(此处即dev)多提交的内容。同理,想知道 master 比 dev 多提交了什么:
git log dev..master # 跟git log ^dev master 效果一样
3.不知道谁提交的多谁提交的少,单纯想知道有什么不一样:
git log dev...master
4.在上述情况下,再显示出每个提交是在哪个分支上:
git log --left-right dev...master
注意 commit 后面的箭头,根据我们在 –left-right dev…master 的顺序,左箭头 < 表示是 dev 的,右箭头 > 表示是 master的。
截图中表示这三个提交都是在 master 分支上的
git log --left-right --cherry-pick errlog_branch...p4_server #忽略cherry-pick