845 次檢視
commit 命令會隱式地移動分支的 HEAD。下圖顯示,最初 HEAD 指向提交 c1。每次提交操作後,HEAD 指標都會向前移動到新的提交。我們可以使用 HEAD 指標或提交雜湊執行重置。git reset 命令將顯式或強制地將分支的 HEAD 移動到特定的提交。當重置 HEAD 指標時,我們有 3 個選項:軟、混合、硬。硬重置時,git 會將提交快照複製到工作區和暫存區。因此,所做的任何更改... 閱讀更多
2K+ 次檢視
在進行合併時,您可能會遇到一個或多個衝突。現在,如果我們還沒有準備好處理此衝突怎麼辦?也許您有多個衝突,並且沒有足夠的時間來花費在解決這些衝突上。在這種情況下,我們可以輕鬆地返回到開始合併之前的狀態。要中止合併,我們可以使用以下命令:$ git merge --abort請注意,如果我們在解決某些衝突並暫存更改後執行此命令,則這些更改將不會儲存。一旦命令被觸發,我們就回到了... 閱讀更多
816 次檢視
在現實世界中,當我們合併分支時,我們會經常遇到衝突。衝突發生的原因如下:當同一行程式碼在兩個分支中以不同的方式更改時。一個給定的檔案在一個分支中被更改,但在另一個分支中被刪除。在兩個不同的分支中添加了相同的檔案,但檔案的內容不同。在這些情況下,git 將停止合併過程,因為它無法確定如何合併更改。在這種情況下,我們需要手動干預並指示如何繼續合併過程。給定的圖表... 閱讀更多
7K+ 次檢視
當我們在 git 儲存庫中有多個分支時,我們需要將所有分支的更改帶到主要工作線,即 master 分支。因此,如果我們當前在 master 分支中並且需要檢視哪些分支需要合併,我們可以使用以下命令。$git branch --no-merged我們還需要驗證哪些分支已經合併,以便我們可以刪除未使用的分支$git branch --merged示例讓我們建立一個示例來了解如何檢視已合併和未合併的分支。下圖顯示有... 閱讀更多
快進合併可以停用:在合併時對於整個儲存庫對於所有儲存庫。停用快進合併既有優點也有缺點。當我們停用快進合併時,git 將執行合併提交以合併來自兩個分支的更改。合併提交的缺點是它變得難以閱讀和理解提交歷史,尤其是在我們有多個分支時。如果您的團隊更喜歡保留分支的線性歷史記錄,那麼應該使用快進合併。停用快進合併將建立合併提交,這會汙染提交歷史。... 閱讀更多
5K+ 次檢視
讓我們來看一個三路合併的例子。在此示例中,Feature 分支比 Master 分支提前兩個提交。圖 1在我們將其與 Master 合併之前,假設我們在 Master 中添加了另一個提交,如下面的圖表所示。圖 2由於在 Master 分支上執行的提交,我們的 Master 和 Feature 分支現在都已分叉。這意味著 Master 分支中有一些更改在 Feature 分支中不存在。如果在這種情況下執行合併,Git 無法將 master 指標移向 Feature... 閱讀更多
25K+ 次檢視
當從源分支到目標分支存在直接線性路徑時,可以執行快進合併。在快進合併中,git 只需將源分支指標移動到目標分支指標,而無需建立額外的合併提交。讓我們來看一個實現快進合併的示例。我們有一個帶有 3 個提交的 master 分支。接下來,我們建立一個名為 feature 分支的分支。在 git 中,分支只不過是指向提交的指標。此時,feature 和 master 都指向同一個提交。現在讓我們切換到 feature 分支並執行幾個... 閱讀更多
git 中的分支是一系列相互關聯的提交。如果兩個分支遵循非線性路徑,則它們會彼此分叉。該圖顯示了兩個分叉的分支 master 和 feature。考慮上圖。假設這兩個分支在初始提交之前都遵循線性路徑。在初始提交之後,master 分支有一個獨立的提交 c1,feature 分支有自己的提交 c2。由於分支現在遵循非線性路徑,因此我們可以說這兩個分支都已分叉。讓我們透過一個示例來了解這一點步驟 1 - 建立一個空的... 閱讀更多
Git 使用一系列 BLOB 和樹來儲存專案工作目錄的內容。每當我們執行提交操作時,Git 在內部都會建立一系列樹和 BLOB,它們是專案資料夾結構在提交時的二進位制表示。什麼是 BLOB?BLOB 代表二進位制大物件。Git 中檔案的每個版本都表示為一個 BLOB。BLOB 儲存檔案的資料,但不包含有關檔案或其名稱的任何元資料。要了解 BLOB,讓我們看一個例子。建立 3 個檔案“file1.txt”、“file2.txt”和... 閱讀更多
git status 命令返回以下內容的當前狀態:工作區暫存區此命令返回已跟蹤和未跟蹤的檔案以及對儲存庫所做的更改。但是,此命令不會顯示任何提交記錄或資訊。此命令通常返回一個狀態訊息,表示以下狀態之一:沒有提交歷史記錄未跟蹤的檔案待提交的更改乾淨的工作樹已修改的檔案已刪除的檔案使用 git status 命令的語法如下:$ git status上面命令輸出的螢幕截圖如下。輸出表明檔案已被修改。dell@DESKTOP-N961NR5 MINGW64 /e/tut_repo (master) $ git status 在分支 master 上... 閱讀更多