无效的对象名称“C”

chh*_*ing 3 git

我在 Windows 上使用最新的 git bash (git 版本 2.6.3.windows.1),并且我正在尝试覆盖我的本地存储库。首先我做了:

git fetch /c/users/xxx/dropbox/repo/master
Run Code Online (Sandbox Code Playgroud)

那我就做

git reset --hard /c/users/xxx/dropbox/repo/master
Run Code Online (Sandbox Code Playgroud)

但 git 返回:

fatal: Invalid object name 'C'.
Run Code Online (Sandbox Code Playgroud)

错误信息的含义是什么?

Jon*_*ink 5

这是因为 的参数reset是“树型”,例如分支名称或 sha。

所以,我认为你想要的命令是:

cd /c/users/xxx/dropbox/repo
git fetch
git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)

编辑您的评论

如果您正在与远程存储库交互,您可能需要为其定义一个远程。

例如:

git remote add dropbox <dropbox url>
Run Code Online (Sandbox Code Playgroud)

然后,命令将更改为:

git fetch dropbox
git reset --hard dropbox/master
Run Code Online (Sandbox Code Playgroud)

您可能想要的dropbox/master不仅仅是master您的reset命令,因为您刚刚执行的提取会更新您的本地dropbox/master分支指针而不是您的分支指针master分支指针。

https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes

https://git-scm.com/docs/git-reset