如何在Git中查看单个文件的更改历史记录,完整的详细信息?
我有:
git log -- [filename]
Run Code Online (Sandbox Code Playgroud)
它显示了文件的提交历史记录,但是如何获取每个文件更改的内容?
我正试图从MS SourceSafe过渡到过去那么简单right-click
→ show history
.
如何查看我所做的任何尚未推送到远程存储库的本地提交?偶尔git status
会打印出我的分支是X提前提交origin/master
,但并非总是如此.
这是我安装Git的错误,还是我错过了什么?
使用时git log
,如何按用户进行过滤,以便仅查看该用户的提交?
我正试着在Git Immersion的帮助下学习Git .有一两件事,每当我使用让我很沮丧git log
或git diff
:
当我遇到这个(END)
词时,我无法弄清楚下一步该做什么.我无法输入任何命令,最终关闭当前的bash并打开另一个命令.如何输入我想要使用的下一个命令?
我使用提交消息"Build 0051"检查了一些源代码到GIT中.
但是,我似乎无法再找到源代码 - 如何使用命令行从GIT存储库中提取此源代码?
更新
更新
源代码肯定存在,现在需要检查它:
C:\Source>git log -g --grep="0052"
commit 77b1f718d19e5cf46e2fab8405a9a0859c9c2889
Reflog: HEAD@{10} (unknown <Mike@.(none)>)
Reflog message: commit: 20110819 - 1724 - GL: Intermediate version. File version: v0.5.0 build 0052.
Author: unknown <Mike@.(none)>
Date: Fri Aug 19 17:24:51 2011 +0100
20110819 - 1724 - GL: Intermediate version. File version: v0.5.0 build 0052.
C:\Source>
Run Code Online (Sandbox Code Playgroud)
更新
使用以下内容检索丢失的源代码:
C:\Source>git log -g --grep="0052"
commit 77b1f718d19e5cf46e2fab8405a9a0859c9c2889
Reflog: HEAD@{10} (unknown <Mike@.(none)>)
Reflog message: commit: 20110819 - 1724 - GL: …
Run Code Online (Sandbox Code Playgroud) 一些Git命令采用提交范围,一个有效语法是用两个点分隔两个提交名称..
,另一个语法使用三个点...
.
两者有什么不同?
我有一个跟踪远程/主分支的本地分支.运行后git-pull
和git-log
,日志将显示在远程追踪分支的所有提交以及当前分支.但是,因为对远程分支进行了如此多的更改,我只需要查看对当前本地分支的提交.
用于仅显示特定分支的提交的Git命令是什么?
笔记:
配置信息:
[branch "my-branch"]
remote = origin
merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud) 我在分支-X上,并在其上添加了几个提交.我想看看MASTER和我提交的分支之间的所有区别.我可以做一个
git checkout master
git log
Run Code Online (Sandbox Code Playgroud)
然后一个
git checkout branch-X
git log
Run Code Online (Sandbox Code Playgroud)
并且在视觉上区分这些,但我希望有一种更简单,更不容易出错的方法.
假设我有foo.js
一段时间前提交过的文件.我想简单地找到首次添加此文件的提交.
在阅读答案和我自己的修修补补后,这对我有用
git log --follow --diff-filter=A --find-renames=40% foo.js
Run Code Online (Sandbox Code Playgroud)