相关疑难解决方法(0)

如果Git提交是Merge/Revert提交则告诉

我正在编写一个脚本,需要检查特定提交是否是合并/恢复提交,我想知道是否有一个git技巧.

到目前为止我提出的(我绝对不想依赖于提交消息)是检查HASH^2并查看我是否没有收到错误,是否有更好的方法?

git git-merge git-commit git-hash

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

“ git log --pretty = <漂亮格式>”是瓷器或管道命令吗?

我正在创建一些脚本和程序来使用以下方式获取提交信息

git log --pretty=<my format> -1 <commit>
Run Code Online (Sandbox Code Playgroud)

我想知道此命令的输出是否适合由程序(管道)解析或仅打算呈现给人类(瓷器)。例如,在某些项目中,我使用以下命令获取提交SHA +作者名+提交摘要:

git log --pretty="%H%n%an%n%s" -1 HEAD
Run Code Online (Sandbox Code Playgroud)

然后,我用换行符分割输出字符串(我在Linux上)。

此外,在某些情况下,我还会执行以下操作:

git log --pretty='[%h] %an: %s' -1 HEAD
Run Code Online (Sandbox Code Playgroud)

然后使用以下正则表达式解析结果,期望捕获的组中包含简短的SHA,作者姓名和提交摘要:

^\[(\w+)\] ([^:]+): (.*)$
Run Code Online (Sandbox Code Playgroud)

这是一个好方法吗?如果不是,以编程方式获取有关提交信息的首选方式是什么?

git git-log

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

如何仅使用管道命令查找 git 提交的日期?

已经有一个问题询问如何在 Git 中找到提交的日期。但是,该问题的所有答案都使用git showgit log命令,它们都是瓷器命令;关于瓷器命令的标准智慧似乎是它们的输出格式可能会改变,因此应尽可能避免在脚本中使用它们。

有没有办法只使用管道命令来获取 git commit 的时间戳?

git scripting git-plumbing

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