在 Git 中覆蓋本地更改
本文將討論如何使用 Git 中的 git pull
命令覆蓋本地更改。
使用 git pull
命令覆蓋 Git 中的本地更改
git pull
命令從遠端獲取檔案並將其合併到本地倉庫。我們首先需要了解 git pull
命令是如何覆蓋檔案的。
git pull
命令是兩個命令的組合:
git fetch
命令git merge origin/Branch
命令
當我們執行 git pull
命令時,Git 會從你克隆的倉庫 origin
中獲取更改,並將它們與本地倉庫中的當前分支合併。
只有當你沒有未提交的更改時,Git 才會成功執行 git pull
命令。如果你的索引有一些未提交的更改,你可能會遇到錯誤。
使用 Git 刪除未提交的本地更改
如果你不需要索引中未提交的更改,請在下面的上下文中使用 git reset
命令。
git fetch
git reset --hard HEAD
git merge origin/$CURRENT_BRANCH
git reset --hard HEAD
將丟棄未提交的更改以允許 git merge
命令執行。
對於那些不想指定要從中獲取的分支的人,Git 有一個快捷方式,使用命令列中的 @{u}
引數。
git fetch
git reset --hard HEAD
git merge '@{u}'
使用 Git 保留未提交的本地更改
對於那些不想擺脫未提交更改的人,你可以提交或儲存它們。隱藏你的提交會使它們遠離你的索引,你可以稍後恢復它們。
更改仍在 Git 上,但不可見。在從倉庫中提取之前執行 git stash
命令。
你可以使用 git stash pop
命令恢復隱藏的更改。請注意,git stash pop
命令將應用你的更改,從你的列表中刪除儲存。
git fetch
git stash
git merge '@{u}'
git stash pop
如果上述方法不起作用,我們總是有 git pull --force
命令。
你需要使用此命令指定源分支和接收分支。它與 git fetch --force
非常相似。
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn