是否有类似于svn revert的git revert?我需要一个单一的命令来删除我的本地文件中的所有内容,并将其设置为远程文件

是否有类似于svn revert的git revert?我需要一个单一的命令来删除我的本地文件中的所有内容,并将其设置为远程文件,git,github,Git,Github,在svn或subclipse中,我可以简单地对根项目进行“恢复”,所有本地更改都将被丢弃,src将更新为HEAD中的最新版本。我似乎在git中找不到类似的东西,尽管有几个博客声称这是一样的 这就是我所做的: 从我家mac提交了10个文件。没有推 从工作计算机提交相同的10个或更多文件并推送 回到家后,我想从远程来源/主机获取最新信息 尝试git pull,它带来了变化,但警告冲突 尝试了git重置--hard HEAD,但什么也没发生。我仍然看到提交的冲突更改 我肯定试过其他一些我不记得的命

在svn或subclipse中,我可以简单地对根项目进行“恢复”,所有本地更改都将被丢弃,src将更新为HEAD中的最新版本。我似乎在git中找不到类似的东西,尽管有几个博客声称这是一样的

这就是我所做的:

  • 从我家mac提交了10个文件。没有推
  • 从工作计算机提交相同的10个或更多文件并推送
  • 回到家后,我想从远程来源/主机获取最新信息
尝试git pull,它带来了变化,但警告冲突

尝试了git重置--hard HEAD,但什么也没发生。我仍然看到提交的冲突更改

我肯定试过其他一些我不记得的命令。我只需要回到遥远的头,不必担心我的本地回购协议是什么状态


帮忙

您想要
git reset
,但您可能想更早地返回一次提交,因为您已将这些文件提交到家用mac上的头部

git reset --hard HEAD^

如果您担心破坏某些内容,您可以随时执行
git log
,获取要返回的提交的哈希值(放弃您的家庭mac更改),然后
git reset--hard
重设该哈希值。

您需要重设为origin/master:

git reset --hard origin/master

git reset--hard@{u}
将丢弃所有本地更改,并将当前分支重置为其上游分支。仅当您设置了该信息(例如,通过使用最新版本的git克隆,或使用
git push-u
)时,此功能才起作用。如果您没有该信息,但知道上游分支,则可以使用git reset--hard origin/master(假设
origin/master
这里是上游分支的名称)。

对于简单的恢复,您可以使用:

git签出

您的意思是:git reset--硬标题请重新编排问题标题。“svn恢复”可以恢复单个文件和目录。您要求还原所有本地更改,得到了正确的答案,这对寻找“svn revert”的实际等效项的人来说没有帮助,但Google在搜索时发现了您的问题,例如,“svn revert git”Google search“svn revert git”仍然首先显示此问题,并且仅显示标题的开头:“是否有类似于svn revert的git revert”…答案是
$git checkout file1
很好。它工作正常,但有一些未跟踪的文件。我运行了一个git clean-f,该文件已被删除。现在git状态显示为:#在分支主节点上#您的分支和“origin/master”已分离,并且有1个和18个不同的提交每个,分别。我以为我的本地现在和远程一样?
git checkout <master>