強制 Git Pull 覆蓋本地檔案

Abdul Jabbar 2023年1月30日
  1. 保留本地更改
  2. 強制 Git Pull 覆蓋本地檔案
強制 Git Pull 覆蓋本地檔案

Git 對於新使用者來說有點困難,如果你的首要任務之一是從 Git 遠端倉庫中執行某種拉取操作,那麼我們將發現讓 Git 覆蓋一些本地檔案的可行方法。

毫無疑問,Git 是管理團隊工作的非常有效的工具。你需要了解一些重要的原則,才能巧妙地使用 Git。好訊息是,當你正確學習它們時,你可能很少會遇到無法擺脫的問題。

我們使用本地倉庫,這是一個在正常 Git 工作流程中具有一個或多個分支的遠端倉庫。倉庫儲存有關專案的所有記錄,包括其整個歷史和所有分支。分支是從空專案到當前狀態的一組更改。

當你處理本地檔案並引入新更改時,你需要將本地更改推送到遠端倉庫,並且在本地更改推送到遠端倉庫之前,你的機器上可以使用所有工作。當一個團隊在做同樣的事情並希望在同一個地方做出改變時,問題就開始了。

pull 基於多個操作,包括從遠端分支獲取資料,然後將其更改合併到本地倉庫中。可以使用以下命令手動執行上述操作。

git fetch
git merge origin/$CURRENT_BRANCH

在處理 Git 倉庫時,我們有兩個主要選擇。

保留本地更改

在這種情況下,當未提交的更改對你很重要時,有兩種方法可以執行它們:

首先,你可以提交它們,然後應用 git pull

其次,你可以把它們藏起來。準確地說,stash 可以解釋為我們進行了一次提交,但當時它在你當前的分支上是不可見的,但我們可以通過 Git 訪問它。為了恢復儲存的更改(我們確實使用了 stash),我們將使用命令 git stash pop。由於我們不再需要它,此命令將在放置隱藏的更改後刪除儲存提交。

git fetch (it will fetch the folder for the local machine)
git stash (it will stash the local changes)
git merge origin/$CURRENT_BRANCH (merge the changes from the local folder to workspace folder) 
git stash pop (it will do all stash to latest)

強制 Git Pull 覆蓋本地檔案

在這種情況下,你希望釋放所有未提交的本地更改。有時,你只是為了實驗而修改檔案,但在那之後,你意識到你不希望進行這種更改。然後,你想要的只是將其更新到上游。

這將在此操作中在獲取和合並之間增加一個步驟。因此,它會將分支重置為其原始狀態,從而允許 git merge 工作。

git fetch (fetch the local machine folder)
git reset --hard HEAD (it will remove the local changes)
git merge origin/$CURRENT_BRANCH (merge the changes from the local folder to workspace folder)
作者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

相關文章 - Git Pull