问题标签 [revision-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 投票
5 回答
229 浏览

version-control - 您是否对“派生”文件进行版本控制?

使用版本控制系统的在线界面是为最新版本的代码提供发布位置的好方法。例如,我在这里有一个 LaTeX 包(只要验证更改为实际工作,它就会发布到 CTAN):

http://github.com/wspr/pstool/tree/master

包本身源自一个文件(在本例中为 pstool.tex),该文件在处理时会生成文档、自述文件、安装程序文件以及构成 LaTeX 使用的包的实际文件。

为了方便想要下载这些东西的用户,我在存储库本身中包含了上面提到的所有派生文件以及主文件 pstool.tex。这意味着每次提交时我都会进行双倍的更改,因为包文件 pstool.sty 是主文件的生成子集。

这是版本控制的变态吗?


@Jon Limjap提出了一个很好的观点:

您是否有另一种方法可以将生成的文件发布到其他地方以供下载,而不是依靠您的版本控制作为您的下载服务器?

这才是本案真正的症结所在。是的,可以从其他地方获得该软件包的已发布版本。因此,仅对非生成文件进行版本控制确实更有意义。

另一方面,@ Madir的评论是:

真实的、重复的便利超过了幕后承担的成本

这也是相当相关的,如果用户发现错误并且我立即修复它,他们可以前往存储库并获取他们继续工作所必需的文件,而无需运行任何“安装”步骤。

我认为,这对于我的特定项目集来说是更重要的用例。

0 投票
19 回答
12075 浏览

version-control - 有没有地方可以在线托管您的代码?

有许多免费的在线服务为您提供了很大的空间来存储您的个人资料、邮件等。但是有没有什么地方可以让我们托管我们的代码 - 保留更改历史记录?

Google CodeSourceForge可能不是一个理想的地方,因为它需要创建一个特定且对其他人有用的项目,而我想要的是一个存放任何我认为有用但可能对其他人没有用的代码的地方。

0 投票
6 回答
410664 浏览

git - 无法在终端中显示 Git 树

Killswitchcollective.com 的旧文章,2009 年 6 月 30 日,具有以下输入和输出

我很感兴趣如何在不使用 OS/X 中的 Gitk 或 Gitx 的情况下在终端中获得提交的树状视图。

如何在终端中获得提交的树状视图?

0 投票
10 回答
186694 浏览

git - 如何在 Git 中查看文件历史记录?

使用 Subversion,我可以使用TortoiseSVN查看文件的历史记录/日志。

我怎样才能用 Git 做到这一点?

我只是在寻找特定文件的历史记录,然后能够比较不同的版本。

0 投票
3 回答
99007 浏览

git - 删除 git 中的分支是否会将其从历史记录中删除?

来自svn,刚开始熟悉git。

当在 git 中删除一个分支时,它会从历史记录中删除吗?

在 svn 中,您可以通过还原删除操作(反向合并)轻松恢复分支。像 svn 中的所有删除一样,分支从未真正删除,它只是从当前树中删除。

如果分支实际上是从 git 的历史记录中删除的,那么从该分支合并的更改会发生什么?他们被保留了吗?

0 投票
2 回答
2468 浏览

ruby-on-rails - Ruby on Rails:如何跟踪 StackOverflow 实现其修订历史之类的更改?

如果我要使用Ruby on Rails实现一个与 StackOverflow 问题修订历史相同的系统,我需要做什么才能实现这一目标?我正在创建一个类似于 wiki 的站点,用户贡献的内容可以由其他人更新。我需要能够跟踪这些更改的历史,但我不熟悉如何实现这一点。

解决方案:

简而言之,它的工作方式是创建一个额外的表来跟踪更改。表中的每一行都有一个数据的“快照”,因为它在记录更改之前存在(或只是更改的数据)。

有许多 Ruby Gems 已经完成了大部分工作。这是处理版本控制/修订历史的 gem列表。看起来Paper Trail是目前最受欢迎的宝石。Ryan Bates 录制了 RailsCast,提供了使用 Paper Trail 的概述

0 投票
19 回答
228778 浏览

git - 修订号的 Git 等价物是什么?

我们在工作中使用 SVN,但对于我的个人项目,我决定使用 Git。所以我昨天安装了 Git,我想知道Git中等效的修订号是多少。

假设我们在版本 3.0.8 上工作,并且每个错误修复都有自己的修订号,当我们谈论这个错误修复时我们可以使用它。因此,如果我将 Git 中的代码标记为 3.0.8,那么我可以将其用作修订号或其他更详细的标识?我发现哈希对人类不太友好。

0 投票
6 回答
49240 浏览

git - 如何拆分隐藏在历史中的 Git 提交?

我弄乱了我的历史,想对它做一些改变。问题是,我有一个包含两个不相关更改的提交,并且这个提交被我的本地(非推送)历史记录中的一些其他更改所包围。

我想在推出之前拆分此提交,但我看到的大多数指南都与拆分您最近的提交或未提交的本地更改有关。从那以后不必“重做”我的提交,对历史中埋藏的提交执行此操作是否可行?

0 投票
2 回答
2257 浏览

.net - 从 TFS 获取文件更改历史记录以实现自定义“责备”-异常行为

当我们的应用程序(在工作中)抛出异常时,我正在尝试找出一些方法来找出“责备”谁。当然,这可能是我造成的,但我可以接受:)。但要做到这一点,我需要 TFS 中文件的历史记录,这样我就可以检查谁最后在异常行进行了更改。当然,它并不总是在插入错误更改的异常行中,因此我可能还需要检查对同一文件的任何更改,最后是最近进行的任何签入。我不确定我将如何解决这个问题,但我想先咨询社区是否有任何现有的解决方案?我还没有使用 TFS API 的经验,所以我无法判断什么是可能的,什么是不可能的。我想我会在未处理的异常处理程序中将它集成到我们的应用程序中。当发现一些例外的候选人时,我需要通过电子邮件通知他们。在此过程中,最好记录我们的 Intranet 上的任何用户抛出某个异常的次数、谁、何时、如何等。它可以为我们节省大量时间(和金钱)。

0 投票
2 回答
90 浏览

git - 如果我有 394 次未推送的 git 提交,为什么 HEAD~394 不起作用?

我有以下别名:

当我使用 执行此操作时|wc -l,它告诉我我有 394 个未推送的提交。我用这个号码跑git diff somecommitid HEAD~394。这失败并出现以下错误:

奇怪的是,它一直工作到数字 358。在另一个克隆中,我有 478 次提交,并且 git 命令包括git show工作到 HEAD~411 然后失败。有什么线索吗?我在 debian linux 上使用 git 1.7.5.2。