问题标签 [git-log]
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.
git - git 可以告诉我何时从原点提取回购
我试图通过查看 git 日志来准确了解网站的某些部分何时上线。
我的设置是这样的:
-我有一个本地 git 存储库,我在其中进行开发、测试和提交更改
-我将更改推送到服务器上的存储库
-当我对更改感到满意时,我将它们拉入第二个存储库使更改生效的同一台服务器。
所以我做出改变git commit
,,,git push
。然后 ssh 进入 Web 服务器并git pull
进行部署。
使用git log
I can see when I made which commits 但我不知道如何判断我何时执行git pull
. 这可能吗?
git - git 登录预先过滤的历史子集
我想使用 git log 来显示我自己过滤的提交之间的一组差异。git log 确实具有内部历史过滤功能,它将(当与 --patch 标志一起使用时)显示历史中可能相距甚远的提交之间的差异。但是当我尝试将其与 --stdin 结合以传递提交列表时,我会获得这些提交的完整历史记录(实际上是它们所在分支的完整历史记录)。添加 -1 不会让我更接近所需的行为,它只会将我限制为一次提交。
我正在寻找一个更干净的版本(过去几周发生的所有提交的每日差异):
git - 如何使用 git 获取子模块的所有修改文件的列表?
可能重复:
git:所有已更改文件的列表,包括子模块中的文件
我有一个超级存储库,其中包含许多定期更新的子模块。我为这个超级存储库设置了一个接收后挂钩设置,每次提交后都会进行维护。
我正在尝试获取提交中所有已修改文件的列表,其中包括在更新子模块后已修改的所有文件。
以下是我为没有子模块的仓库执行此操作的方法:
git show --pretty="format:" --name-only HEAD | tr '\n' ' '
...这将输出类似testing1.html testing2.html foo.md bar.js
,这是所需的格式(以空格分隔的文件名)。
我的问题是,如何获取单个提交的所有修改文件的列表,包括子模块中已更改的文件?
git - Git:有没有办法查看对文件特定部分所做的更改?
用例:
我发现一段我根本看不懂的代码。我想找到编写此代码的时间上下文,以及这部分代码经历的所有更改。
基本上查找此文件的历史记录,但仅查找与 [第 34 行至第 38 行(例如)] 相交的历史记录部分。
git log -p <file> | grep <some snippet matching mysterious code>
是否有一个比然后返回log -p
输出查看差异中的上下文更有用的命令。
可悲的是,在查看自己编写的代码时,我经常发现需要这种功能。
git-log - 使用 git log -m --patch 时如何打印对应的父提交哈希
使用 git log 时
对于合并提交,它将为每个父提交生成一个差异并指定相应的父提交哈希,例如:
但是不方便解析。
当我以漂亮的格式使用 %P 时,它会给我两个父母同时提交哈希,比如
而且我无法区分哪个是补丁。使用漂亮格式时如何获取相应的父提交哈希?
谢谢
git - 获取 Git 存储库的最后一次提交
我有一个中央 Git 裸存储库。当对该仓库进行推送时,我想运行一个接收后挂钩。该钩子将做的是在 Basecamp 项目上创建一条消息(使用他们的 API)。我想要有关刚刚执行的更新的信息。现在我认为git log -2 --stat
已经足够好了,但想要更多信息(更新的分支、创建的文件、删除的文件)。任何人都可以帮助我获取所有信息所需的命令吗?执行多个命令对我来说很好,可能没有一个命令可以让我获得所有信息。
xml - 如何从 git log 生成站点地图?
我使用 git 来存储和部署一个静态网站(HTML、CSS、JavaScript、图像)。
有没有一种简单的方法可以从 git log 中提取所有文件的最后修改日期以生成 XML 站点地图?
web-services - 用于个人 Git 服务器存储库的 Web API(如 github REST API)以启用“git log”?
我可能最终会为我自己的 repo 服务器重新发明部分github REST API 。但也许已经有一些服务器脚本可以做到这一点?或者,也许您有其他建议?
这是我的用例:
我正在开发一个 Firefox 扩展,它将显示一个
我总是可以编写一个小的服务器脚本来实现完善的JGit并在那里执行“git log”命令。但是,FF 扩展取决于该服务器脚本;(
我想知道,是否存在类似于“not-github”-repos 的github REST API之类的东西,作为我的小服务器脚本更标准?
我还考虑了一个Git JS 客户端,例如Git.JS(显然是唯一的 JS 客户端;与 node.js 一起使用;不幸的是,该项目不再活跃,也没有文档。)。但是,我不需要完整的客户。我只想从远程主存储库中检索一些只读信息。
git - gitweb vs git-log 日期
我目前有一个来自我们公司 git 服务器的仓库的本地克隆。我注意到的是,返回的历史摘要中返回git log
的日期与我们的 gitweb 服务器视图上的日期不匹配。
任何人都可以解释这些中的每一个如何获得他们的日期,以及为什么他们可能会有所不同?
不同的日期使得跟踪更改变得非常复杂!
git - Git 和二进制文件历史
这是关于git 处理二进制文件以及git 如何不能很好地跟踪文件历史的一些类似“已回答”问题的后续。
所以,git 不能正确地跟踪文件历史。哎呀,甚至git log --follow -M100% --name-only -- path-to-my-file
不会这样做,而且我应该告诉它只关注 100% 相似的文件!
那么我们应该使用其他方法来找出责任人,例如一分为二。这里的问题是:这些似乎不适用于二进制文件。并且根据 Linus的说法,我们不太可能git log --follow
很快得到一个完整的工作。
最后我的问题是:
我们是否有任何自动化方式来启用某种git log
跟踪重命名/移动的二进制文件?
或者也许有任何类似的版本控制系统但具有此功能?
作为一种解决方案的一个例子,我会接受一些安全和简单的使用filter-branch
方式,但我从来没有玩过它,也不知道它有多么危险。发出这样的程序后,我们是否能够毫无问题地拉动和推动?我们可以轻松地恢复它吗?我们可以在不恢复的情况下跟踪旧名称/引用吗?你知道,在版本控制系统中,访问历史就是一切。