标签: git-history

显示文件的历史记录?

可能重复:
使用Git版本控制查看文件的更改历史记录

有时我想逐步浏览特定文件的历史记录.在过去,我使用P4V,这非常快速和直观.

  1. 右键单击文件并选择历史记录.
  2. 通过日期滚动,看到的究竟是什么改变一个很好的差异在文件日期.简单.

切换到git这是一项艰巨的任务.

  1. "git log filename"
  2. 查看历史记录并选择日期,复制哈希值
  3. "git diff hash"
  4. 滚动浏览差异,查看我感兴趣的文件中更改的内容.
  5. 不,不是这样,让我们​​尝试不同的日期 - 回到第2步,冲洗并重复.

我搜索了SO,我尝试了一些常用的guis:github,gitk,gitg,git-gui.

这些都消除了手动运行命令的需要,但工作流程与此相同.查看文件历史记录; 查看提交; 搜索大量不相关文件的差异.这是缓慢而重复的.

所有数据都在repo中,所以我认为这个简单的常见用例没有理由不能简化.

任何人都可以推荐一个这样做的工具 - 或者更有效的方式来利用命令行来做我想要的事情?

谢谢你的任何建议.

git version-control github git-history

144
推荐指数
4
解决办法
15万
查看次数

Git 获取我所在分支的历史记录

我需要查看我正在使用的分支的历史记录。例如我有 4 个分支:master、b-1、b-2、b-1-1。Th\xd0\xb5 分支“b-1-1”是分支“b-1”的子分支。首先我在 master 分支,然后在分支 b-1 ,然后在分支 b-1-1 ,然后在分支 b-2 ,然后再次在 b-1-1 。我使用的分支的历史如下所示:

\n
    \n
  • b-1-1
  • \n
  • b-2
  • \n
  • b-1-1
  • \n
  • b-1
  • \n
  • 掌握
  • \n
\n

在git中可以这样做吗?如果是,那么如何?\n我尝试检查 git 日志,但它不是我要搜索的内容。

\n

git git-branch git-reflog git-history

10
推荐指数
3
解决办法
6790
查看次数

Azure Devops:在所有分支上搜索作者的提交历史

如何在 Azure Devops 的所有分支中找到作者的提交历史?此选项仅允许我在功能分支上按作者进行过滤。想搜索所有分行。

在此处输入图片说明

.net git commit azure-devops git-history

6
推荐指数
2
解决办法
6437
查看次数

按作者或分支过滤git日志

在我的工作流程中,我通常通常只对自己的分支以及某些特定分支感兴趣,例如stagingmaster,我git log希望反映这一点。我想出了这个命令:

git log --branches=staging* --author=my_name
Run Code Online (Sandbox Code Playgroud)

问题是authorand branches过滤器似乎与逻辑运算符链接在一起and,这意味着我可以看到我的所有分支或暂存,但不能同时看到两者。

换句话说,我只想staging用一个命令来查看我是作者的提交以及名为branch 的分支的所有提交(无论作者如何)。

有办法实现吗?

git branch author git-log git-history

5
推荐指数
1
解决办法
709
查看次数

在 GIT 历史记录中搜索文件?

所以我的一个项目中有一个文件被删除了,没有人知道何时或为什么,它就这样消失了。(可能几个月)。问题是我只知道名字的一部分,不知道全名。我如何搜索在提交(不是提交消息)中添加/删除的文件?

该文件应该看起来像something_something.*.xml,有什么想法吗?[*可以是一个字符串,也可以是由下划线、破折号或点分隔的多个字符串]

git git-history

5
推荐指数
1
解决办法
1747
查看次数

Git History 扩展在 VS Code 中不起作用

我之前在 VS Code 中使用过非常好的 Git History 扩展,但是目前当我单击它的按钮或从命令面板调用它时,没有任何反应。所有其他 git 函数都工作正常。我刚刚卸载并重新安装了扩展程序,但无济于事。

还有其他人有这个问题吗?

visual-studio-code git-history

5
推荐指数
1
解决办法
1618
查看次数

加入同一存储库旧版本的历史记录

我有一个包含此历史记录的存储库:

A---B---C---D
Run Code Online (Sandbox Code Playgroud)

然后,这个存储库被“拆分”(基本上,另一个存储库是使用 git-subtrees 创建的,它的历史从 'D' 开始)。

现在,我有这个历史的另一个回购:

# The same D as the other
D---E---F---G
Run Code Online (Sandbox Code Playgroud)

如何将同一项目故事情节的这两个“部分”合并到一个存储库中?
最终结果必须是:

A---B---C---D---E---F---G
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多东西,但所有这些都包括合并,这不是我想要的,因为合并不会保留一些更改,例如已删除的文件。
此外,我尝试为存储库的最后一个版本的所有更改生成补丁并将它们应用到旧版本中,但遇到了很多error: <file> already exists in index错误。

更新

我发现这个问题,其他关于再养育一个承诺,那就是正是解决我的问题,两者的结合git replace --graftgit filter-branch

更新 2

现在我的任务完成了,我发布了下面问题的完整正确答案。

git git-subtree git-history

5
推荐指数
1
解决办法
144
查看次数

我可以缩短 git 存储库的历史记录吗

首先,我做了一个浅克隆。之后,我发现一些旧的提交引入了一些大文件。例如,这些旧的提交一次又一次地替换了二进制文件。

现在,我不希望我的本地存储库包含这些重大更改。如何在不重新创建新存储库的情况下缩短历史记录git clone --depth=10

# shallow clone
git clone --depth 100 ssh://git@10.7.222.111:/home/my_repository01.git
git log --oneline | wc -l  # the result is 100

# Now, how can I shorten the current history to 10? 
# Otherwise, I need to execute `git clone --depth=10` to recreate the repository.
Run Code Online (Sandbox Code Playgroud)

git git-repo git-history

4
推荐指数
1
解决办法
485
查看次数

如何在强制推送基础分支后更新我的功能分支。我们只使用rebase,禁止合并

我们正在使用 git 中的一个非常简单的结构。

首先我们有我们的master分行。

下面我们有develop

最后我们可以拥有任何feature分支

我们仅使用 rebase 来更新分支上的历史记录,然后转发到上述分支。

每周,我们的develop分支都会更新一些features. 这个分支被重新定位并合并到 master 中(从developmaster)。

问题

当我们变基并合并develop到时master,有时会出现冲突,我必须通过master在我的develop分支中执行变基来修复它们。解决冲突后,我执行git push --force-with-lease将更改上传到远程。

在此过程之后,由于强制推送,开发的历史已被更改。

问题在于,当另一位开发人员正在feature基于develop强制推送之前(develop强制推送之前)的分支进行工作时。

我们如何feature使用新的develop分支历史记录来更新该开发人员的分支。git rebase develop 因为,在我们的分支机构内部进行操作时feature。我们最终会产生很多冲突。

git rebase git-push git-history git-history-rewrite

4
推荐指数
1
解决办法
1779
查看次数

Git 是否留下任何证据表明 rebase 甚至在事后发生过?

我知道变基会重写历史。但是事后存储库中是否留下任何记录或迹象表明发生了变基?

git rebase git-history git-history-rewrite

3
推荐指数
1
解决办法
52
查看次数

获取自分支以来所有已编辑文件的列表

我想获得自主分支分支以来已编辑文件的列表(不是与主分支的最新头进行比较,而是与分支点的主分支进行比较)。

这可能吗?

这似乎是一件很常见的事情,但我的同事不知道 git 命令,也没有在网上找到任何东西(我猜用谷歌搜索有点困难)。

git git-branch git-history

2
推荐指数
1
解决办法
99
查看次数