2015-12-10 200 views
2

我在Windows上使用最新的git bash(git版本2.6.3.windows.1),我試圖覆蓋我的本地回購。首先,我做的:無效的對象名稱'C'

git fetch /c/users/xxx/dropbox/repo/master 

然後我做

git reset --hard /c/users/xxx/dropbox/repo/master 

但混帳回來了:

fatal: Invalid object name 'C'. 

什麼是錯誤消息的含義是什麼?

+0

如果使用/產地/主,而不是產地/主同樣的信息。這個晦澀的信息需要一些解釋。 (如果以「/」開始,預期會有什麼對象?) – pdem

回答

3

這是因爲reset的參數是「tree-ish」,例如分支名稱或sha。

所以,我想你想的命令是:

cd /c/users/xxx/dropbox/repo 
git fetch 
git reset --hard origin/master 

關於您的評論編輯:

如果您使用的是遠程回購交互,你可能要在遠程界定其所。

例如:

git remote add dropbox <dropbox url> 

然後,命令將變爲:

git fetch dropbox 
git reset --hard dropbox/master 

你可能想dropbox/master,而不是僅僅masterreset命令,因爲接你只是沒有會更新您的本地dropbox/master分支指針而不是您的master分支指針。

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

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

+0

Dropbox是我的遠程回購。我當前的位置是我的本地回購,它位於不同的文件夾中。這會改變你的答案嗎? – chhenning

+0

@chhenning我看到了...我更新了我的答案 –

+0

總之,答案是我需要使用別名來遠程回購使用git reset --hard? – chhenning