如何判断我的git回购协议是否存在冲突?
我是否可以通过编程调用命令来确定我的git repo是否处于以下状态:如何判断我的git回购协议是否存在冲突?,git,git-merge-conflict,Git,Git Merge Conflict,我是否可以通过编程调用命令来确定我的git repo是否处于以下状态: 合并冲突 重新基址冲突 隐藏流行音乐引起的冲突 特别是,我想知道是否可以通过编程发出git merge--abort(在1的情况下)和git rebase--abort(在2的情况下)返回到已知的良好状态 在合并过程中,文件merge\u HEAD、merge\u MODE和merge\u MSG存在于.git文件夹中 在重新设置基础期间,rebase apply文件夹存在于.git文件夹中。请参阅及其答案 stash po
git merge--abort
(在1的情况下)和git rebase--abort
(在2的情况下)返回到已知的良好状态
merge\u HEAD
、merge\u MODE
和merge\u MSG
存在于.git
文件夹中rebase apply
文件夹存在于.git
文件夹中。请参阅及其答案stash pop
执行合并,但不是真正的合并。.git
文件夹的内容似乎与往常一样。我不完全确定,但由于无法中止从隐藏中进行的合并(类似于git stash pop--abort
之类的操作无法完成,如果要中止,必须使用良好的ol'git reset--hard HEAD
),我认为存储库并没有处于真正的“冲突状态”。您所拥有的只是冲突文件中的冲突标记谢谢你的回答。关于3,我刚刚建立了一个回购协议,其中有一个简单的
隐藏pop
冲突,并且没有任何合并
文件实际存在。编辑了我的答案,但是仍然不能完全确定是否有更好的方法用于3。git中肯定有一些不同的东西,因为如果我尝试将签出到另一个分支,我会得到错误:您需要首先解析当前索引。
。我猜相关信息存储在.git/index
中,但我不知道如何解析那个文件。它似乎是二进制的。checkout HEAD
似乎是区分stash pop
冲突和无冲突的好方法。