在 Git 中將提交移動到另一個分支

Abdul Jabbar 2023年1月30日
  1. 在 Git 中計算遷移的提交次數
  2. 在 Git 中移動提交到一個新的分支
  3. 將提交移動到 Git 中的現有分支
在 Git 中將提交移動到另一個分支

Git 是現代軟體世界中非常有用且功能強大的工具。許多型別的檔案和程式碼可以通過 Git 中的分支和提交來儲存。分支是一個不同的概念,具體取決於你使用的版本控制系統。由於其效率,許多開發人員認為它是最受青睞的版本控制系統。

大多數時候,當完成一些工作並提交到特定分支後,我們會遇到這種情況,我們意識到我們錯誤地提交到了錯誤的分支,並想在另一個分支上再次提交。Git 來救我們了,它允許我們將提交移動到其他現有分支或新分支上。

本指南將讓我們基本瞭解如何將我們的提交移動到另一個分支,它可能是一個新的或現有的分支。此外,我們將討論如何使用 git branch 命令建立新分支,使用 git reset 命令移動提交,以及使用 git merge 命令將這些更改合併回主分支。

在 Git 中計算遷移的提交次數

在開始整個過程​​之前,我們需要判斷情況。假設我們已經檢查了要更改的分支;為此,我們需要了解歷史。

我們將使用以下命令來計算要移動的提交數。

git log

執行後,我們可以看到 HEADorigin/HEAD 頭部的兩個提交,這是我們需要移動到另一個分支的兩個期望提交。下面是剩下的步驟,我們將在其中介紹如何將這些提交移動到新分支或現有分支。

在 Git 中移動提交到一個新的分支

下面提到的步驟將向我們展示如何將最新的提交移動到新的分支。

  • 建立一個新分支
    git branch feature/new branch
    

    此命令將建立一個新分支,其中將包含 master(current) 分支的所有提交。

  • 將當前分支移回兩個提交
    git reset --keep HEAD~2
    
  • 檢視新分支
    git checkout feature/new branch
    

通過執行這些,我們的兩個最新提交已從 master(當前分支)中刪除並新增到一個名為 feature/new branch 的新分支中。

將提交移動到 Git 中的現有分支

下面提到的步驟將向我們展示如何將最新提交移動到現有分支。如果我們一直在使用功能分支,這對我們很有用,但是我們開始錯誤地在錯誤的分支中進行提交。讓我們假設當前分支以及我們要刪除的提交是 master

  • 檢出現有分支
    git checkout feature/existing branch
    

    命令 git checkout 不僅限於使用工作目錄。它也可以用於將 HEAD 參考指標移動到分支上的參考點。

  • 合併主分支
    git merge master
    

    git merge 命令也可用於將分支合併到當前分支中,但前提是當前分支已經合併到正在合併的分支中。

  • 檢視主分支
    git checkout master
    

    命令 checkout master 拉下最新版本的程式碼並建立一個名為 master 的新分支。

  • 將當前分支移回兩個提交:
    git reset --keep HEAD~2
    

    --keep 選項將重置索引條目並更新工作樹中提交和 HEAD 之間不同的檔案。當 commit 之間的檔案不同且 HEAD 有本地更改時,reset 將終止。因此,最新的兩個提交已從 master 中刪除並新增到現有分支中。

作者: 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 Commit

相關文章 - Git Branch