Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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和github的新手,遇到了一些麻烦 我用它来管理我的一个小项目。我想我丢失了最近对代码所做的一些更改。我所做的是: 更改了一些文件 意外地提交了更改 恢复了提交 然后我按下“回滚到此提交” 现在所有的更改都消失了,包括我添加的一些新文件。我能救他们吗?我还安装了git(命令行),所以我可以执行任何你认为有用的命令。git的一个优点是,除非你做了一些奇怪的事情,否则很难丢失任何东西 你需要做的是找到代表你想要的状态的点 假设您检查git日志并确定hash 01dbc4。。。是您希望返回

我是git和github的新手,遇到了一些麻烦

我用它来管理我的一个小项目。我想我丢失了最近对代码所做的一些更改。我所做的是:

  • 更改了一些文件
  • 意外地提交了更改
  • 恢复了提交
  • 然后我按下“回滚到此提交”

  • 现在所有的更改都消失了,包括我添加的一些新文件。我能救他们吗?我还安装了git(命令行),所以我可以执行任何你认为有用的命令。

    git的一个优点是,除非你做了一些奇怪的事情,否则很难丢失任何东西

    你需要做的是找到代表你想要的状态的点

    假设您检查git日志并确定hash 01dbc4。。。是您希望返回的时间点。为此,只需执行以下操作:

    git reset --hard 01dbc4
    
    请注意,如果您有未提交的更改,则需要先将它们隐藏起来

    现在,如果该提交丢失了您想要的额外文件,并且它们在稍后的提交中,那么它会变得更加复杂。但您可以做的是将主分支设置为要开始的点,然后将分支设置为具有新文件的点。然后,您可以将丢失的信息从新分支复制或有选择地合并到主分支,使主分支看起来像您想要的那样

    请注意,即使您在使用git reset时移动了分支的指针,如上面的硬命令和以后的孤立提交,您也可以通过检查
    git reflog
    并重置到它们,或者创建指向它们的分支,将它们取回

    请注意,现在(2013年3月),使用GitHub for Windows,您无需键入任何git命令即可撤消提交:

    见“

    我们添加了对丢弃、提交、回滚和合并的撤消支持:


    您能否在2014年5月10日左右提供GitHub for Windows的分步文字说明?哪个回滚到给定的提交?Thanks@Dave您的意思是,条目(如图所示)上不再有“放弃更改”条目的上下文菜单?不清楚“放弃更改”是放弃从现在到那时所做的所有更改,还是仅放弃该修订中所做的更改。如果打算使用前者,则应将其称为“回滚”或“放弃对此修订版的所有更改,或其他类似更改”当然,一年多以后,也许已经修好了?