我无法弹出我的藏匿处,因为我合并了一个显然与我的藏品冲突的分支,现在我的藏匿处似乎无法弹出.
app.coffee: needs merge
unable to refresh index
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
固定!
事实证明,实际问题是来自合并的未解决的合并冲突,而不是存储会导致合并冲突.
解决方案:提交冲突的文件.
Von*_*onC 57
首先,检查一下git status.
正如OP提到的,
实际问题是来自合并的未解决的合并冲突,而不是存储会导致合并冲突.
那就是git status把文件称为" both modified"
解决方案:提交冲突的文件.
您可以在撰写此答案(2012年3月13日)时发现类似的情况4天前发布此帖:" '拉不可能,因为您有未合并的文件' ":
julita@yulys:~/GNOME/baobab/help/C$ git stash pop
help/C/scan-remote.page: needs merge
unable to refresh index
Run Code Online (Sandbox Code Playgroud)
你所做的是修复合并冲突(编辑正确的文件,并提交它):
请参阅" 如何修复Git中的合并冲突? "
博文的作者所做的是:
julita@yulys:~/GNOME/baobab/help/C$ git reset --hard origin/mallard-documentation
HEAD is now at ff2e1e2 Add more steps for optional information for scanning.
Run Code Online (Sandbox Code Playgroud)
即完全中止当前合并,允许git stash pop应用.
请参阅" 在Git中中止合并 ".
这是你的两个选择.
Ada*_*dam 20
这是我解决问题的方法:
kno*_*cte 13
我遇到了这个问题,然后解决冲突并提交,并git stash pop再次重新恢复相同的存储(导致相同的冲突:-().
我要做的就是git stash drop摆脱它.
它比公认的答案简单得多.你需要:
git status在它下面检查和未合并的路径.修复冲突.如果您以后再做,可以跳过此步骤.
将未合并路径下的所有这些文件添加到索引使用git add <filename>.
现在做git stash pop.如果您遇到任何冲突,这些将再次需要解决.
好吧,首先我们应该知道错误的根源,那么解决问题就会变得很容易。接受的答案已经指出了原因,但它在某种程度上不完整(也是解决方案)。
问题是,一个或多个文件之前存在冲突,而 Git 仍然将它们视为未解决。尽管您可能已经编辑了这些文件并解决了冲突,但 Git 并不知道。
在这种情况下,您应该通知 Git:“嘿,之前的合并没有冲突!”。请注意,合并不一定是由 a 引起的git merge,也可能是由 a 引起的git stash pop可以是由 a 引起的。
一般来说,git status可以告诉你 Git 现在知道什么。如果 Git 存在一些未解决的合并冲突,则会显示在单独的Unmerged paths部分中,并将文件标记为both modified(总是?)。如果您注意到了,此部分位于两个已暂存部分和未暂存部分之间。这意味着,未合并的路径是您应该移动到暂存或非暂存区域的路径,因为 Git 只能使用这两个区域.
即使在最新版本的 Git 中,当您执行 a 时git status,它也会告诉您如何操作(哇!您应该问自己怎么还没见过这个):
$ git status
...
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: path/to/file.txt
...
Run Code Online (Sandbox Code Playgroud)
因此,要暂存它(并且可能提交它):
git add path/to/file.txt
Run Code Online (Sandbox Code Playgroud)
并使其取消暂存(例如,您现在不想提交它):
git restore --staged path/to/file.txt
Run Code Online (Sandbox Code Playgroud)
注意:--staged如果没有使用好的文本编辑器或 IDE,忘记写入选项可能会产生一条超级饥饿的龙来吃掉你过去的两天。
注意:虽然git restore命令还处于实验阶段,但它应该足够稳定,可以使用(感谢 @VonC 的评论,请参阅它以获取更多详细信息)。
小智 5
如果有人在合并/冲突/操作之外遇到此问题,则可能是导致该问题的项目的git锁定文件。
git reset
fatal: Unable to create '/PATH_TO_PROJECT/.git/index.lock': File exists.
rm -f /PATH_TO_PROJECT/.git/index.lock
git reset
git stash pop
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
118333 次 |
| 最近记录: |