Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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,我有未提交的更改,我想完全撤销,并使我的工作区与远程主机相同。然而,当从master Git中提取最新代码时,执行了一次合并,我不明白为什么/我做错了什么 我运行了以下命令: git status 这显示了未老化的更改和新文件 git reset --hard HEAD~1 后跟要拉取的内部脚本,该脚本执行以下操作: git checkout master git pull origin master 但在拉动过程中发生了合并 我做错了什么/下次我应该做些什么 我有未提交的更改,我想完全撤

我有未提交的更改,我想完全撤销,并使我的工作区与远程主机相同。然而,当从master Git中提取最新代码时,执行了一次合并,我不明白为什么/我做错了什么

我运行了以下命令:

git status
这显示了未老化的更改和新文件

git reset --hard HEAD~1
后跟要拉取的内部脚本,该脚本执行以下操作:

git checkout master
git pull origin master
但在拉动过程中发生了合并

我做错了什么/下次我应该做些什么

我有未提交的更改,我想完全撤销,并使我的工作区与master相同

要消除未提交的更改,请执行以下操作:

git重置——硬头
。我的别名是
git clear

要使您的工作区与本地主工作区相同,请执行以下操作:

git签出主机

要使本地主机与远程主机相同,请执行以下操作:

# Update origin
git fetch origin

git checkout master
git reset --hard origin/master

git重置——硬头~1
是个错误。它撤消最近的提交。我把它化名为
git undo

您可以通过检查
git reflog
(头部如何变化的记录)并查找以下内容来恢复:

b84779fe (HEAD -> master) HEAD@{5}: reset: moving to HEAD^
08d4b01b HEAD@{6}: commit: that commit you undid
第一行显示撤消。第二个显示commit-it-undid。所以
git重置——硬08d4b01b


但在拉动过程中发生了合并

这表示您的本地主机和远程主机存在分歧。通常是因为您向本地主机进行了提交,而其他人向远程主机推送了提交
git pull
是一个
git fetch
来更新远程跟踪分支(即原始/主分支)和一个
git merge
来合并来自远程分支的更改

下面是这两个步骤的样子

# Your local repository is out of date with origin.

origin
A - B - C - D - E [master]

local
A - B - C [origin/master]
         \
          F - G [master]

# Bring it up to date
$ git fetch origin

local
A - B - C - D - E [origin/master]
         \ 
          F - G [master]

# Merge in the new changes from origin/master to master.
$ git merge origin/master master

local
A - B - C - D - E [origin/master]
         \       \
          F - G - M [master]

这是我鼓励让师父一个人呆着的原因之一。所有的开发都应该在其中进行,然后进行审查、测试并合并到master中。

我们能看到git log的相关部分吗?graph--装饰--一行--所有的吗?当你说“与master相同”时,你是指你的本地master还是远程master?@Schwern我指的是remote。我只是想“重新开始”