Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 重新隐藏因其他提交而暂停的更改_Git_Github_Version Control_Git Stash - Fatal编程技术网

Git 重新隐藏因其他提交而暂停的更改

Git 重新隐藏因其他提交而暂停的更改,git,github,version-control,git-stash,Git,Github,Version Control,Git Stash,我把两台不同机器上的存储库搞砸了 在我的计算机(A)上,我提交了一些更改,并希望在另一台计算机(B)上进行这些更改,但在第二台计算机上,有一些更改需要备份并在以后恢复 因此,我使用git diff查看更改的位置,然后git stash在机器B上清理目录。 最后,我git pull--rebase新提交并测试了机器B上的所有工作 然后我尝试恢复隐藏的更改执行git stash pop(我通常更喜欢git stash apply,但在这种情况下我没有使用它) 我收到了一封信 # On branch

我把两台不同机器上的存储库搞砸了

在我的计算机(A)上,我提交了一些更改,并希望在另一台计算机(B)上进行这些更改,但在第二台计算机上,有一些更改需要备份并在以后恢复

因此,我使用
git diff
查看更改的位置,然后
git stash
在机器B上清理目录。 最后,我
git pull--rebase
新提交并测试了机器B上的所有工作

然后我尝试恢复隐藏的更改执行
git stash pop
(我通常更喜欢
git stash apply
,但在这种情况下我没有使用它)

我收到了一封信

# On branch master nothing to commit (working directory clean) Dropped refs/stash@{0} (8d5ee9...aa3) “嗯……奇怪。我想还原一些实际上已经更改并隐藏的更改”

我认为已经丢失了更改,所以尝试执行了一个git apply 8d5ee9…af3,但没有任何更改

“该死!也许是因为某种奇怪的原因,藏匿处什么都没有!”

幸运的是,我一直保留着终端的所有日志,然后回到
git diff
,看到了我隐藏的更改。 我看了一下文件,看到隐藏的更改已经集成到代码中,但是
git status
没有告诉我有未存储的文件

“什么?发生了某种重定基/合并,我甚至不知道什么时候和如何??”

因此,我尝试
git checkout master
(因为隐藏的更改应该与之分离),我得到了一个

Warning: you are leaving 109 commits behind, not connected to any of your branches: 8d5ee94 WIP on (no branch): 2cffcf8 uses the service be1466a index on (no branch): 2cffcf8 uses the service 2cffcf8 uses the service b8d40bf Added pagination ... and 105 more. If you want to keep them by creating a new branch, this may be a good time to do so Switched to branch 'master' 警告:您将留下109个提交,未连接到 您的任何分支机构: 8d5ee94在制品打开(无分支):2cffcf8使用服务 be1466a索引打开(无分支):2cffcf8使用该服务 2cffcf8使用该服务 b8d40bf添加了分页 ... 还有105个。 如果您想通过创建一个新分支来保留它们,这可能是一个好时机 这样做 切换到“主”分支 在这一点上,我停下来完全明白发生了什么

“见鬼,为什么我有这么多的分离犯?我肯定他们一定是来自‘大师’分支……但是,怎么办?”

因此,我仍然保留着分支“主”中隐藏的更改;我不明白。。并且不知道如何像以前一样分离隐藏的更改,并将它们从实际的主分支中再次分离

我在机器a和B上都尝试了一个
git pull--rebase
+
git checkout master
,但是B上存储的文件与a上的相同文件仍然不同

我怎样才能了解我的初始情况?

  • 隐藏中的未知更改(最终恢复为未老化的更改)
  • 我在藏匿后所做的承诺让分支机构负责
我真的不知道该怎么办


键入的git命令的简要列表:
  • git状态
    (主控->无需提交)
  • git stash pop
    (主控->无需提交)(已删除的存储{0}:提交a1b2c3d4) (这里我希望我所做的更改显示为未分级的文件)
  • git隐藏应用a1b2c3d4
    (没有看到任何变化,我尝试应用它)
  • git签出a1b2c3d4
    (NoBranch,在a1b2c3d4上拆下头部->无需提交) (没有看到任何变化,我愚蠢地尝试了这个)
  • git签出主机
    (主机->无需提交) (最后一件蠢事。现在一切都合并了)
  • 检查了文件,更改已经存在,但仍然没有从
    git status

  • 我想回到第一个命令状态。

    我找到了行为的原因

    在机器B上工作的一位同事提交了隐藏中的更改,即使我不知道为什么目录没有被清理(可能是它移动了文件,可能是从其他地方提交的,一台机器C)。 无论如何,我保存了一些与已经提交的更改相对应的暂存文件(为了不丢失其他人的未知工作)。 因此,拉取最近的提交已经得到了我试图从隐藏中恢复的更改

    我可能在控制机器A上的文件时犯了一些错误,我没有看到更改已经存在

    对不起,浪费了你的时间

    我建议每个人都吃点东西,而不是在一个问题上和饥饿一起撞脑袋:)

    Warning: you are leaving 109 commits behind, not connected to any of your branches: 8d5ee94 WIP on (no branch): 2cffcf8 uses the service be1466a index on (no branch): 2cffcf8 uses the service 2cffcf8 uses the service b8d40bf Added pagination ... and 105 more. If you want to keep them by creating a new branch, this may be a good time to do so Switched to branch 'master'