问题标签 [git-history]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
29 浏览

git - git - 有没有办法取消跟踪几个远程合并分支?

我工作的组织决定在存储库中保留合并的分支以用于历史记录。该存储库有 900 多个跟踪的合并分支,这降低了它的性能。有没有办法取消跟踪或归档这些分支?

0 投票
1 回答
37 浏览

git - 如何查找文件中删除的行的git提交

我有一个大的 CSV 文件,其中数据通常只被附加然后 git 提交。但我很好奇过去是否有一些提交从该文件中删除了行。迄今为止,已经对该文件进行了数百次提交。

有没有一种简单的方法来判断是否有 git 提交删除了哪些行?

0 投票
1 回答
60 浏览

git - 在具有历史记录的分支之间移动单个 Git 文件

我正在使用 Git 来管理一个小型 shell 脚本的小型存储库。它们有很多,没有一个可以证明自己的存储库是合理的,所以我将它们集中在一个存储库中。

为了保持干净,我有一些长期运行的分支——一个用于我仍在处理的脚本,另一个用于我通常已完成但仍在测试的脚本,另一个用于经过验证的、值得信赖的脚本。当然,我偶尔会在树枝之间移动它们。

我目前正在使用 . 在分支之间传输脚本git checkout {branch} {filename},但这只会按原样导入文件,而将其历史记录留在旧分支中。

这不是非常重要,但出于好奇 - 有没有办法在具有历史记录的分支之间移动单个文件?

谢谢!

0 投票
0 回答
28 浏览

git - 有没有一种安全的方法来删除在 Git 中占用大量空间的旧提交?

我想先说这个问题,我知道在 Git 中重写历史通常是一种不好的做法,但我面临一个似乎无法找到另一种解决方案的问题。

我们注意到我们的 repo(它是一个非常古老的 SVN 项目的移植)有 GitLab 报告的惊人的 2.4 GB 大小,即使签出时它低于 80 MB。这在我们的管道中造成了一些性能问题。

这种异常大小的原因似乎是一个旧的预移植提交,其中 - 我想不小心 - 价值 3.7 GB 的 zip 文件保存到存储库,并在之后立即删除。

由于此提交已有 5 年历史,并且每个活动分支都源自那里,因此我需要找到一个非常干净的解决方案,以避免给当前从事该项目的所有人员带来任何类型的问题。

有没有一种相当安全的方法来做到这一点,或者最好还是保持原样?

0 投票
1 回答
124 浏览

git - 从 git 历史记录中确定父分支/提交

我在 git 中有以下历史记录:

现在我在 b2 上,我想明白 b2 分支的地方(7be9db9)。算法如下:

  1. 获得下一次提交
  2. 检查提交所属的分支
  3. 如果只有当前分支,则继续 1. step else 4.step
  4. 提交属于多个分支,这一定是我们分支的点

但是,如果我想对 b1 做同样的事情,我最终会在同一个位置 - 7be9db9。但我预计最终会在 22601c0,因为这是 b1 分支的点。历史就是这样创造的。

来自 master (b1) 的初始提交分支和提交来自 b1 (b2) 的 file1 分支和提交 file2 checkout b1 并提交 search.py

恐怕git的设计方式,无法区分,commit 7be9db9(file1)是b1还是b2创建的,对吗?所以不能说b1的父母是master还是b2?

感谢您的确认。

0 投票
1 回答
195 浏览

git - BFG repo 清洁器不清理远程存储库

您好,我在 azure devops 上有一个非常大的 13.2 GB git 存储库。我想重写这个 git 存储库的历史。减少存储库大小。我使用了 bfg repo 清洁器。我遵循此链接中的所有步骤:[在此处输入链接描述][1]。我的本地存储库上的 git 存储库大小减少到 1,86 GB。但是当我克隆远程存储库时,它仍然是 13.2 GB 大。虽然我能够成功推送 git。

我遵循的步骤:

  1. java -jar bfg.jar --strip-blob-big-than 100M some-big-repo.git

  2. $ cd some-big-repo.git $ git reflog expire --expire=now --all && git gc --prune=now --aggressive

  3. git push --force

谁能告诉我我做错了什么?

0 投票
1 回答
163 浏览

pycharm - 如何让 Pycharm 显示子文件夹的所有 git 提交历史记录?

由于某个时间点(可能是更新)Pycharm 停止显示项目子文件夹之一的 git 历史记录。

问题

它是否具有为我的子文件夹启用所有提交历史记录的功能?

我试图检查一些选项:

但这没有帮助

另外,我从 Git Log 上下文菜单中检查了不同的选项,也没有结果。我只看到两天的提交,但对该文件夹的提交至少在一个月内完成。这是更新后的bug吗?是否有某些功能可用于这种情况,例如恢复历史记录?

PyCharm 版本

Git 提交历史示例

对不起,我不得不模糊一些文字。

0 投票
1 回答
169 浏览

git - 移动 Git 子模块时,如何使用子模块的新 URL 更新父存储库中的完整历史记录?

谁能帮帮我。我想将一些 Git 存储库从一台服务器移动到另一台服务器,并同时重命名它们。我遇到的问题是当某些存储库是其他存储库的子模块时。我想在顶级模块中所有分支的历史记录中替换子模块的 URL,以便在删除原始文件后,我仍然可以返回并重建旧提交。我在 Windows PC 上,目前,我正在使用 .bat 文件来运行我的存储库迁移。

要将子模块从 server1 移动到 server2 并将名称从 sub_old 更改为 sub_new,我将原始(裸机)克隆到 C: 驱动器上的文件夹中,更改 URL,然后向上推送到新服务器:

然后从 server1 中删除 sub_old。

现在,当我想将使用 sub_old 存储库作为子模块的顶级存储库移动到新服务器时:

然后从 server1 中删除 top_old。

在我想更改对子模块的所有 URL 引用时,我尝试使用:

但没有成功。我显然不明白这应该如何工作,或者它是否适合使用。

0 投票
2 回答
40 浏览

git - Git:如何处理具有共享历史记录的文件副本?

我将我的 CSS 用户样式备份到 git 存储库,如下所示:

这些备份文件显然大多是相同的,即stylus-2021-05-18.json是过去的历史stylus-2021-05-20.json。这是如何处理的git

显然,我可以将文件重命名为stylus.jsongit完全处理版本控制,但我想知道git它是否足够聪明,可以自动处理这些文件。

0 投票
1 回答
39 浏览

git - 将 git 历史记录折叠到标签(在标签之间合并提交)

我们有一个相当大的(1000 多个提交)存储库,其中包含 7 年的更改和 6 个发布版本(每个版本由一个 git 标签表示)。我们想折叠历史,以便在最后一个标签之前,两个标签之间的所有提交都折叠成一个提交,带有版本标签。从而将我们的存储库历史记录减少到大约 15 次提交。我们不会跨版本进行任何还原。作为奖励,理想情况下,我们希望将所有提交我们崩溃的人保留为co-authored-by. 如果它很重要,我们没有任何从标签之前跳过标签进入新版本的合并。

从:

进入

关于如何进行的任何想法?