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