可能重复:
使用Git版本控制查看文件的更改历史记录
有时我想逐步浏览特定文件的历史记录.在过去,我使用P4V,这非常快速和直观.
切换到git这是一项艰巨的任务.
我搜索了SO,我尝试了一些常用的guis:github,gitk,gitg,git-gui.
这些都消除了手动运行命令的需要,但工作流程与此相同.查看文件历史记录; 查看提交; 搜索大量不相关文件的差异.这是缓慢而重复的.
所有数据都在repo中,所以我认为这个简单的常见用例没有理由不能简化.
任何人都可以推荐一个这样做的工具 - 或者更有效的方式来利用命令行来做我想要的事情?
谢谢你的任何建议.
我需要查看我正在使用的分支的历史记录。例如我有 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在git中可以这样做吗?如果是,那么如何?\n我尝试检查 git 日志,但它不是我要搜索的内容。
\n在我的工作流程中,我通常通常只对自己的分支以及某些特定分支感兴趣,例如staging或master,我git log希望反映这一点。我想出了这个命令:
git log --branches=staging* --author=my_name
问题是authorand branches过滤器似乎与逻辑运算符链接在一起and,这意味着我可以看到我的所有分支或暂存,但不能同时看到两者。
换句话说,我只想staging用一个命令来查看我是作者的提交以及名为branch 的分支的所有提交(无论作者如何)。
有办法实现吗?
所以我的一个项目中有一个文件被删除了,没有人知道何时或为什么,它就这样消失了。(可能几个月)。问题是我只知道名字的一部分,不知道全名。我如何搜索在提交(不是提交消息)中添加/删除的文件?
该文件应该看起来像something_something.*.xml,有什么想法吗?[*可以是一个字符串,也可以是由下划线、破折号或点分隔的多个字符串]
我之前在 VS Code 中使用过非常好的 Git History 扩展,但是目前当我单击它的按钮或从命令面板调用它时,没有任何反应。所有其他 git 函数都工作正常。我刚刚卸载并重新安装了扩展程序,但无济于事。
还有其他人有这个问题吗?
我有一个包含此历史记录的存储库:
A---B---C---D
然后,这个存储库被“拆分”(基本上,另一个存储库是使用 git-subtrees 创建的,它的历史从 'D' 开始)。
现在,我有这个历史的另一个回购:
# The same D as the other
D---E---F---G
如何将同一项目故事情节的这两个“部分”合并到一个存储库中?
最终结果必须是:
A---B---C---D---E---F---G
我已经尝试了很多东西,但所有这些都包括合并,这不是我想要的,因为合并不会保留一些更改,例如已删除的文件。
此外,我尝试为存储库的最后一个版本的所有更改生成补丁并将它们应用到旧版本中,但遇到了很多error: <file> already exists in index错误。
我发现这个问题,其他关于再养育一个承诺,那就是正是解决我的问题,两者的结合git replace --graft和git filter-branch。
现在我的任务完成了,我发布了下面问题的完整正确答案。
首先,我做了一个浅克隆。之后,我发现一些旧的提交引入了一些大文件。例如,这些旧的提交一次又一次地替换了二进制文件。
现在,我不希望我的本地存储库包含这些重大更改。如何在不重新创建新存储库的情况下缩短历史记录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.
我们正在使用 git 中的一个非常简单的结构。
首先我们有我们的master分行。
下面我们有develop
最后我们可以拥有任何feature分支
我们仅使用 rebase 来更新分支上的历史记录,然后转发到上述分支。
每周,我们的develop分支都会更新一些features. 这个分支被重新定位并合并到 master 中(从develop到master)。
问题
当我们变基并合并develop到时master,有时会出现冲突,我必须通过master在我的develop分支中执行变基来修复它们。解决冲突后,我执行git push --force-with-lease将更改上传到远程。
在此过程之后,由于强制推送,开发的历史已被更改。
问题在于,当另一位开发人员正在feature基于develop强制推送之前(develop强制推送之前)的分支进行工作时。
我们如何feature使用新的develop分支历史记录来更新该开发人员的分支。git rebase develop  因为,在我们的分支机构内部进行操作时feature。我们最终会产生很多冲突。
我知道变基会重写历史。但是事后存储库中是否留下任何记录或迹象表明发生了变基?
我想获得自主分支分支以来已编辑文件的列表(不是与主分支的最新头进行比较,而是与分支点的主分支进行比较)。
这可能吗?
这似乎是一件很常见的事情,但我的同事不知道 git 命令,也没有在网上找到任何东西(我猜用谷歌搜索有点困难)。
git-history ×11
git ×10
git-branch ×2
rebase ×2
.net ×1
author ×1
azure-devops ×1
branch ×1
commit ×1
git-log ×1
git-push ×1
git-reflog ×1
git-repo ×1
git-subtree ×1
github ×1