2016-09-01 78 views
0

我已經對存儲在Git倉庫中的代碼進行了一些本地更改。我不再需要這些改變,所以我想放棄它們並從github上獲得乾淨的副本。Git - 重置本地更改

當我做了一個Git拉它給了我一個合併衝突錯誤。

所以,我做了

git reset --hard 

,但沒有幫助。我也試過

git stash 

但仍然當我嘗試從github拉,它不允許我這樣做。

有人可以請建議什麼是從github獲取最新代碼的最佳方法。我應該刪除本地文件,然後做一個git pull?

+0

如果你發佈什麼錯誤,你這將是巨大的獲得。什麼是「合併衝突錯誤」和什麼github「不允許你做」。 – Paul

回答

0

如果你只是想獲得推送到遠程的最新代碼,你可以做到這一點。

rm -rf ./gitProject 

git clone yourRemoteRepo 
+1

我對刪除本地項目持懷疑態度,除非沒有更好的方法。做刪除意味着那些不屬於回購協議(並在.gitignore中提及)的文件也將消失。我想要的只是我的本地副本被遠程回購中的任何內容覆蓋。 – swati

0

嘗試:

git checkout -f 

對於git的復位和git結帳之間的差異的大討論,請參見:

https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified#_git_reset

+0

我做了一個git checkout -f,然後做了git pull,但它仍然抱怨衝突。我希望我的本地副本被遠程回購中的任何內容覆蓋。不想合併。 – swati

+0

我推薦的命令不會擺脫您的本地更改。要做到這一點,你可以擦掉整個git目錄並再次克隆。或者看看這個線程:http://stackoverflow.com/questions/1628088/reset-local-repository-branch-to-be-just-like-remote-repository-head –

1

我會做:

git reset --hard {remote_name_here}/{branch_name_here}

+0

做完git reset --hard master,when我做了一個git拉,它仍然抱怨衝突,並要求我合併 – swati

+0

這就是爲什麼我指定使用遠程;如果將遙控器添加到命令(可能是'origin'),它將使用從該遙控器拉出的版本。 – AgentAntelope

0

如果你想離開了所有的本地修改,並得到只有那些從GitHub你可以刪除你的.git文件夾,並對其進行重新初始化,這樣的:

rm -rf .git 
git init 
git remote add origin http://yourGithubUrl.com 
git pull 
+0

想知道爲什麼這被低估?如果我這樣做,是否會遇到任何潛在的挑戰? – swati

+0

好吧,我也看不到這一點。 你會得到什麼,是你的項目的新副本。 如果你有任何疑問,你可以複製你的項目文件夾,並測試新的沒有任何恐懼 –