我看到How to reverse apply a stash?提出的问题Pat Notz。我已经尝试了批准的答案,但我收到了这样的错误,
sudo git stash show -p | git apply --reverse
error: patch failed: app/controllers/CloudController.php:673
error: app/controllers/CloudController.php: patch does not apply
error: patch failed: app/controllers/CloudGcode.php:1
error: app/controllers/CloudGcode.php: patch does not apply
我必须解释我是如何在这种情况下运行的。
我的藏匿列表中有一个存储区,我在我的工作存储库中做了一些修改。我的工作存储库中的更改与存储@ {0}发生冲突。然后我按错误执行git add .
和sudo git stash apply
命令,并显示此信息,
sudo git stash apply
[sudo] password for xxxx:
Auto-merging app/controllers/CloudGcode.php
CONFLICT (add/add): Merge conflict in app/controllers/CloudGcode.php
Auto-merging app/controllers/CloudController.php
CONFLICT (content): Merge conflict in app/controllers/CloudController.php
存储应用后,我的文件中存在冲突,
<<<<<<< Updated upstream
for($i = 0; $i < $textlen; $i++)
{
$char = $uchars[$index++];
if($char !== 0)
$text = $text.chr($char);
}
$this->text = $text;
Log::info('LLLLLLLLLLLLLLLLLLLL'.$text);
=======
for($i = 0; $i < $this->textlen; $i++)
$text = $text.$uchars[$index++];
$this->text = $text;
$this->text[$this->textlen] = 0; // Terminate string overwriting checksum
>>>>>>> Stashed changes
$this->waitUntilAllCommandsAreParsed = true; // Don't destroy string until executed
}
$this->formatErrors = 0;
return true;
}
<<<<<<< Updated upstream
=======
然后我谷歌如何还原它。我在How to reverse apply a stash?提出问题Pat Notz,并尝试解决该问题。
我想知道有没有办法在执行sudo git stash apply
之前,在执行git add .
答案 0 :(得分:2)
你应该简单地重新藏匿,然后git重置(甚至git reset --hard
,前提是你先藏匿),如&#34; Aborting git stash apply
&#34;中所述。
如果您先执行reset --hard
而不先存储,您仍然可以在.git/refs/stash
中看到您的补丁,如&#34; Undo git reset --hard
after git stash pop
&#34; (git stash apply
无论如何都不会从藏匿处删除补丁,例如git stash pop
,所以这里你不必担心这个问题)或you can recover it from git fsck
。
我想在执行
之前回滚状态sudo git stash apply
由于git apply --reverse
不起作用,最好按照我的建议回到HEAD,然后重做您的操作。