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

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

Git 如何";重置";更改至;“从父分支合并”吗;?

Git 如何";重置";更改至;“从父分支合并”吗;?,git,github,Git,Github,我不太熟悉Git术语,所以请使用更常见的术语进行解释。我正在使用Github桌面,我已经将其提交到我的分支中。现在我想打开主控的pull请求,但在此之前,我首先使用“从主控更新”选项从主控获取所有更改,以便在执行pull和merge时,不会在主控上获得任何冲突 当我从Master更新时,我遇到了一些冲突。像往常一样,我去解决这场冲突。但后来我意识到我解决了错误的冲突,我想“重置”文件的状态,就像冲突的开始一样,这样我就可以重新开始。现在我不知道该怎么办 我已尝试git隐藏所有更改,以便再次“从

我不太熟悉Git术语,所以请使用更常见的术语进行解释。我正在使用Github桌面,我已经将其提交到我的分支中。现在我想打开主控的pull请求,但在此之前,我首先使用“从主控更新”选项从主控获取所有更改,以便在执行pull和merge时,不会在主控上获得任何冲突

当我从Master更新时,我遇到了一些冲突。像往常一样,我去解决这场冲突。但后来我意识到我解决了错误的冲突,我想“重置”文件的状态,就像冲突的开始一样,这样我就可以重新开始。现在我不知道该怎么办

  • 我已尝试
    git隐藏
    所有更改,以便再次“从主机更新”,但
    git隐藏
    失败。而且,
    git-stash
    从未在我身上失败过。(
    fatal:git写入树:构建树时出错
    无法保存当前索引状态
  • 我尝试过重置git,但似乎没有重置任何东西。我所知道的是git reset实际上是在撤销我最近的提交,所以我担心我现在的提交会弄乱主程序中更新和未提交的代码

我应该怎么做才能“重置”文件的状态,比如冲突的开始,这样我才能重新解决冲突?谢谢。

如果合并错误,您可以执行以下步骤:

  • git复位头~1
  • git添加
  • git重置——硬
这将删除最新的提交。现在可以重新进行合并


但我也提出了另一个解决合并冲突的解决方案:重新设置基础。使用rebase,您需要在功能分支中移动,并运行类似于
git-rebase-i master
的命令。如果没有冲突,就像你的分支是从最新的主节点开始的:就像你的主节点是最新的一样。重基移动所有提交,因此当重基遇到冲突时,重基将“暂停”,并邀请您解决每个冲突。如果您按照rebase说明进行操作,那么对于每次发生冲突的提交,您都需要手动修复提交,
git add
,然后
git rebase——继续执行(但只需按照命令说明进行)。

我使用sourcetree应用程序,因此UI更容易使用。请参阅:@LucaC。我也使用sourcetree。但在这个时候,我也不知道在sourcetree要做什么来修复这个混乱。我通常使用github桌面,因为它更简单,可以完成任务。如果我需要解决一些问题,比如这个问题,请使用sourcetree。但这太乱了,无法修复。@Gahan从你的链接中可以看出,现在我知道我用错了词。这不是重新定基,而是合并。因此,我将更改标题。在中,您必须自行解决冲突。要解决填充中的冲突,您可以使用或等工具和在线网站,如。。不管有什么麻烦,都要经历这个哦,哇,我从来都不知道用这种方式来使用rebase。谢谢顺便说一句,我已经用
git stash-u
解决了我的问题(尽管我不知道
-u
是什么意思),但是你的回答也回答了我的问题,为什么我的
git reset
不起作用。