Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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 - Fatal编程技术网

Git 如何还原临时区域中的文件块?

Git 如何还原临时区域中的文件块?,git,Git,我的暂存区中有一个文件,我想将其中的一块解压缩。 我知道我可以使用以下命令: git reset --patch -- <my_file> git重置--补丁-- 但在我的例子中,名称文件被重命名,每次我尝试验证重置时,都会出现以下错误: 致命:新文件my_文件依赖于旧内容 有没有办法满足我的需要?还是我完蛋了 编辑: 在发布此问题之前,我阅读了以下文档: 编辑: Git状态输出: Changes to be committed: (use "git r

我的暂存区中有一个文件,我想将其中的一块解压缩。 我知道我可以使用以下命令:

 git reset --patch -- <my_file>
git重置--补丁--
但在我的例子中,名称文件被重命名,每次我尝试验证重置时,都会出现以下错误:

致命:新文件my_文件依赖于旧内容

有没有办法满足我的需要?还是我完蛋了

编辑: 在发布此问题之前,我阅读了以下文档:

编辑: Git状态输出:

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        renamed:    src/MyBundle/Config.php -> src/MyBundle/QueryConfig/Config.php
要提交的更改:
(使用“git重置磁头…”取消分级)
重命名:src/MyBundle/Config.php->src/MyBundle/QueryConfig/Config.php
在重命名过程中,我想保留一些更改(名称空间更改),但我想放弃其他更改(与名称空间更改无关),以便稍后提交。

要取消存储块,请使用:

git reset HEAD -p <filename>
git复位头-p
之后,您可以使用重置更改

git checkout -p <path to file>
git签出-p

所以我终于找到了一个适合我的流程:

  • 我将文件移回其原始位置
  • 我还原我不想包含在提交中的块
  • 我将文件移动到其最终位置
  • 下面是命令:

    git mv <final_path>/<file> <original_path>/<file>
    git reset -p <original_path>/<file>
    git mv <original_path>/<file> <final_path>/<file>
    
    git mv//
    git重置-p/
    吉特mv//
    

    @即使我没有使用你的解决方案,我也感谢你的帮助。非常感谢。

    它返回以下错误
    错误:未知选项“暂存”
    。我的git版本是2.1.4。这个选项只在更高版本的git上可用吗?它在2.x版本中可用,当然我试过了,但它不起作用。在重置过程中,我必须重置所有更改,因为Git认为我更改了文件。如果我试图编辑修补程序,我有一个错误
    警告:重新计数:意外行:您能发布git状态的结果吗?@MatzZze我编辑了我的帖子,向您展示了一个
    git状态
    输出的示例。我有更多的变化等待,但他们都是相似的。