[Git] 強制從遠端的 Git server 下載最新的資料
今天在本機上改了一些檔案,因此導致 git pull 失敗:
testuser@localhost ~ $ git pull remote: Counting objects: 15, done. remote: Compressing objects: 100% (10/10), done. remote: Total 10 (delta 6), reused 0 (delta 0) Unpacking objects: 100% (10/10), done. From gitlab.test.com:machine-learning/machine-learning bcb85b0..a0ba2af master -> origin/master Updating bcb85b0..a0ba2af error: Your local changes to the following files would be overwritten by merge: Users/testuser/round1.py Please, commit your changes or stash them before you can merge. Aborting
後來想放棄這些修改,直接拿 Git server 上的來覆寫,
查了一下,Git 是有方法可以這麼做的~
先執行 git fetch 將遠端 (origin) 的 master branch 的資料下載下來,
再用 git reset –hard origin/master,
就可以讓目前的 branch 直接使用剛抓下來的 origin/master branch:
git fetch
git reset --hard origin/master
之後再執行 git pull,就可以發現目前已經沒有資料要更新了:
testuser@localhost ~ $ git pull
Already up-to-date.
要注意這個方法會讓本地端所有的修改都消失不見喔~請小心使用~
參考資料:stackoverflow: Force Git to overwrite local files on pull
(本頁面已被瀏覽過 680 次)