gpt4 book ai didi

git - 如何知道 merge 是否在 git 中进行

转载 作者:行者123 更新时间:2023-12-04 14:42:19 24 4
gpt4 key购买 nike

我使用脚本来管理我的开发过程。有时我需要知道 merge 是否挂起。

我曾经使用“git ls-files --unmerged”,但是当冲突已解决并将未 merge 的文件添加到索引时它不起作用。

在这种情况下,有没有办法知道 merge 是否正在进行?

谢谢你。

最佳答案

来自脚本:看看 "$(git rev-parse --git-dir)"/MERGE_HEAD存在(这就是 __git_ps1 的方式)。

手动,我让 repo 状态显示在我的提示中。
__git_ps1有非常有用的功能。除了在命令行提示符下向您显示当前分支、状态、索引状态、远程跟踪分支状态外,它还告诉您是否正在进行 merge 。

您可以找到说明 there .

总之,download git-prompt.sh ,放入您的 PATH ,请在您的 ~/.bashrc 中找到它, 使用 __git_ps1在您的 PS1~/.bashrc .

阅读 git-prompt.sh 顶部的评论以了解其他功能。

一个例子:

gauthier@sobel:~/tmp/sigrt_val (master *) $ 

(显示当前分支 master ,并且我有本地更改 * )

另一个 merge 冲突的例子:
gauthier@sobel:~/tmp/sigrt_val (two) $ git merge one
Auto-merging test.c
CONFLICT (content): Merge conflict in test.c
Automatic merge failed; fix conflicts and then commit the result.
gauthier@sobel:~/tmp/sigrt_val (two *+|MERGING) $

( * 用于本地更改, + 用于暂存文件, |MERGING 用于当前未完成的 merge )

关于git - 如何知道 merge 是否在 git 中进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29101270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com