Git pull origin创建了一个问题
这是个新手 我在本地回购协议中有两个分支机构a和b。 所以如果我这样做了Git pull origin创建了一个问题,git,github,repository,git-svn,Git,Github,Repository,Git Svn,这是个新手 我在本地回购协议中有两个分支机构a和b。 所以如果我这样做了 git branch *a b 然后我错误地做了“git pull origin”,它拉了一堆文件,扰乱了我在分支a上的工作环境 我想回去。我想撤销“git pull origin”-我该怎么做 我尝试了“git pull origin a”,但它给了我数百个要合并的文件,在一个大文件列表之后,它给出了以下消息: 无法拉取,因为您有未合并的文件。 请在工作树中修复它们,然后使用“git add/rm” 根据需要标记解析,
git branch
*a
b
然后我错误地做了“git pull origin”,它拉了一堆文件,扰乱了我在分支a上的工作环境
我想回去。我想撤销“git pull origin”-我该怎么做
我尝试了“git pull origin a”,但它给了我数百个要合并的文件,在一个大文件列表之后,它给出了以下消息:
无法拉取,因为您有未合并的文件。
请在工作树中修复它们,然后使用“git add/rm”
根据需要标记解析,或使用“git commit-a”
我尝试了“git重置——很难”,但这并没有带来我想要处理的文件。我能做些什么来解决这个问题
有一条信息可能会有所帮助:在执行“git pull origin”之前,对“git log”的响应只是我的团队的提交(仅在该分支上工作),但现在在我执行“git pull origin”之后,“git log”的结果是来自公司每个人的状态
请帮帮我。谢谢请尝试将waaaaay复位,然后拉动分支a
git reset --hard HEAD^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(如果需要返回更多提交,请添加更多^
然后拉
git pull origin a
尝试重新设置WAAAAY back并拉动分支a
git reset --hard HEAD^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(如果需要返回更多提交,请添加更多^
然后拉
git pull origin a
除非您已将pull配置为在远程更改的基础上重新设置本地更改的基础,否则使用pull将使您的更改与远程提交合并。只要您没有做任何进一步的提交,就会使
HEAD
ref指向由拉操作创建的合并提交。该提交将有两个父级,一个是合并前的状态,另一个是合并前远程分支的状态。这些可以分别通过名称HEAD^
和HEAD^2
来引用
在拉车之前,您可以通过以下方式返回您所在的州:
git reset --hard HEAD^
这将吹走您必须跟踪的文件的任何未提交的更改,如果您想要保留类似的内容,您可以使用git stash
保存它们
在执行重置之前运行
git branch savepoint
以保存当前状态也是一个好主意,以防重置使情况变得更糟。除非您已配置为在远程更改的基础上重新设置本地更改的基础,使用pull会将您的更改与远程提交合并。只要您没有做任何进一步的提交,就会使HEAD
ref指向由拉操作创建的合并提交。该提交将有两个父级,一个是合并前的状态,另一个是合并前远程分支的状态。这些可以分别通过名称HEAD^
和HEAD^2
来引用
在拉车之前,您可以通过以下方式返回您所在的州:
git reset --hard HEAD^
这将吹走您必须跟踪的文件的任何未提交的更改,如果您想要保留类似的内容,您可以使用git stash
保存它们
在执行重置之前运行
git branch savepoint
以保存当前状态也是一个好主意,以防重置使情况变得更糟。这是一个完美的使用案例。reflog存储您的头和分支的头在过去的位置的历史记录。跑吧,你会看到的。在您的情况下,正确的命令可能是git reflog a
。这将显示分支过去的状态。查找正确的行,然后执行git重置
如果您只是执行拉操作而不执行其他操作,那么命令是git reset--hard a@{1}
。这意味着“将当前分支恢复为a
一次更改之前的状态”。如果您做了更多的更改,那么您可能需要更进一步(例如,git-reset-hard a@{4}
)
这比使用HEAD^^^^^…
更方便、更可控。这是一个完美的使用案例。reflog存储您的头和分支的头在过去的位置的历史。运行,您就会看到。在您的情况下,正确的命令可能是git reflog a
。这将显示您过去的状态您的a
分支的。查找正确的行,然后执行git重置
如果您只是做了拉操作,而没有做任何其他操作,那么命令是git reset--hard a{1}
。这意味着“将当前分支恢复到a
一次更改之前的状态”。如果您做了更多更改,则可能必须进一步执行(例如git reset--hard a{4}
)
这比使用HEAD^^^^^…
非常感谢您!!!!您让我的日子变得更加方便和可控。(我正在从您的解决方案中复制语法)这不会从拉取之前还原为本地状态。它会将本地状态从远程还原为状态。还有更好的方法来引用一些提交次数,通过使用HEAD~2
将与HEAD^^
相同,并且您可以增加数量以增加您看到的提交次数ck.qqx主意不错。我很喜欢。但是我的本地文件很干净-我没有任何想要提交的代码。我的问题是-我无法继续工作,因为我的本地目录因为拉其他文件而被弄乱了。所以这对我的案例来说是一个很好的解决方案。非常感谢你!你让我度过了一天YYYY。(我正在从你的解决方案复制语法)这不会从拉之前还原为本地状态。它会将本地状态从远程状态转换为本地状态。另外,使用HEAD~2
引用提交次数的更好方法与HEAD^^
相同,您可以增加该数量以增加numb