在 Git 中獲取程式碼的最新版本
Git 是開發人員日常使用的工具,尤其是在團隊合作時;它在軟體行業中起著至關重要的作用。該版本控制工具為其開發人員提供了大量的命令,他們通過這些命令根據分配給他們的工作執行不同型別的任務。
本文將教我們如何通過各種 Git 命令獲取最新的程式碼版本。通過兩種不同的方式,我們可以從本地倉庫中的倉庫更新我們最新的版本程式碼。
當你不關心本地更改時獲取最新版本的程式碼
如果本地更改對我們來說沒有任何問題,那麼我們可以通過以下三種不同的方式更新我們的程式碼:
步驟 1
首先,我們將使用以下 Git 命令通過 git fetch
命令獲取最新程式碼:
git fetch origin
此命令將顯示更新的分支。git fetch
命令使我們能夠訪問另一個儲存庫的完整分支結構。
在將提交與我們的本地儲存庫結合之前,獲取被認為是檢視提交的最安全方法。
之後,我們將通過命令 git reset
重置程式碼,繼續使用標誌 --hard origin
:
git reset --hard origin/[tag/branch/commit-id usually: master]
此命令用於踢出所有暫存和未暫存的更改。它還會忽略當前本地分支上的所有內容,並使其與遠端儲存庫上的 origin/master
相同。
步驟 2
在此過程中,我們將通過以下命令刪除整個資料夾:
rm -rf [project_folder]
此命令將從 Git 儲存庫中遞迴刪除整個資料夾以供將來重新使用。
之後,我們將使用下面提到的命令通過命令 git clone
克隆儲存庫:
git clone [remote_repo]
當我們執行 git clone
時,專案歷史的每個檔案的每個版本都會被克隆,即使所有內容都複製到遠端儲存庫中。
步驟 3
我們現在提到的方法更具破壞性,因此最好堅持使用步驟 2 或 1,如上所述。
git reset --hard HEAD
上面的命令會丟擲我們所做的所有未提交的更改,並且仍在我們本地更改的暫存區域中。現在我們將使用以下命令清理工作樹:
git clean -xffd
上述命令會將工作樹清理為預設狀態。
git pull
此命令將從遠端倉庫獲取更新。它是 git fetch
和 git merge
的混合體。
它從遠端儲存庫獲取更新,儘快在我們本地執行最新的更改,並更新本地分支。
當你關心本地更改時獲取最新版本的程式碼
步驟 1
通過執行以下命令,我們將不會遇到與新線上版本的衝突,因為有時衝突非常危險,需要時間來解決。
git fetch origin
git status
上述命令的輸出將有點像這樣:
Your current branch is much behind 'origin/master' by only 1 commit and can be fast-forwarded.
一旦我們得到上面的輸出,我們就執行 git pull
命令。此外,我們將獲得最新版本的儲存庫。
git pull
步驟 2
通過執行這些命令,我們將面臨與新線上版本的衝突:
git fetch origin
git status
這些命令將報告如下內容:
error: Local changes to the files given must be overwritten with the help of merge:
file_name
Changes should be committed or stashed before merging.
Aborting
現在,我們將通過下面提到的命令提交我們的本地更改,如下所示:
git add .
git commit -m 'Commit msg'
在那之後,我們將嘗試獲取不起作用的更改。
git pull
這個 git pull
將報告如下內容:
Here pull can not be applied because you have unmerged files.
use 'git commit -a'.
出現此錯誤後,我們將開啟衝突檔案,並嘗試通過執行以下命令來修復已發生的衝突:
git add .
git commit -m 'Fix conflicts'
git pull
這些命令的輸出如下:
Already up-to-date.
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