首頁 >開發工具 >Git >git 怎麼push指定的commit

git 怎麼push指定的commit

Johnathan Smith
Johnathan Smith原創
2025-03-06 13:39:17778瀏覽

>將特定的提交推向遠程分支:綜合指南

>本文解決了與將特定提交推向遠程分支有關的幾個常見的git問題。 我們將使用各種git命令和策略來探討如何實現此目標。

>

>如何推動特定的提交

>將單個特定的提交推向遠程分支,需要使用特定的提交hash使用命令。 假設您想將提交git push推向遙控存儲庫上的分支。 您無法直接使用簡單的a1b2c3d4指定單個提交。取而代之的是,您需要創建一個新的Ref指向本地存儲庫上的特定提交,然後將REF推到遙控器上。 這是使用以下步驟完成的:remote-branchgit push origin remote-branch

    >找到提交哈希:
  1. 使用來識別您要推開的提示的sha-1哈希。 這通常是一個40個字符的十六進製字符串(例如,)。 git loga1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
  2. >創建一個臨時參考:

    創建一個臨時分支(或使用現有的分支(如果適用)指向您所需的commit。例如:

    <code class="bash">git branch temp-branch a1b2c3d4</code>
  3. >按下臨時參考:

    將此臨時分支推到遠程存儲庫。 指定遠程名稱(在大多數情況下)和分支名稱(在此示例中):origintemp-branch

    <code class="bash">git push origin temp-branch</code>
  4. (可選)臨時分支:刪除推送後,在推送後,您只能在本地和遠程分支上刪除臨時分支,如果您不再需要它:指定的提交被推。 遠程分支現在僅包含該單一提交。 請記住,用您的實際值替換

    >,
    <code class="bash">git branch -d temp-branch
    git push origin :temp-branch</code>
  5. >。

>如何選擇性地將單個提交僅推向遠程分支?a1b2c3d4originremote-branch>上述方法 - 創建臨時分支並推動它 - 是最可靠的方法,是最可靠的方式,僅選擇性地推出一個提交。 嘗試直接在遠程分支上使用櫻桃挑選或其他方法可能導致不一致和合併衝突,尤其是如果遠程分支與您的本地分支機構顯著分歧。 臨時分支方法提供了一種干淨而受控的方法來添加單個提交而不影響其餘分支歷史記錄。

>我應該使用什麼命令來推動特定提交而不推動後續提交?

第一部分中概述的命令序列是最合適的。 使用git push origin <branch>:<commit>無法可靠地工作,因為GIT期望源有分支參考,而不是單個提交哈希。 臨時分支充當必要的參考,乾淨地隔離了推動操作的單個提交。

>

>是否可以將特定的提交推向與我當前的分支不同的分支? 第一部分中描述的方法無論您當前的簽出分支如何。 您只需在

>命令期間指定目標分支名稱。 例如,要將提交

推向名為git push>的遠程分支,您將使用:a1b2c3d4different-branch

>創建一個臨時分支:
    >
  1. git branch temp-branch a1b2c3d4
  2. >按下臨時分支:
  3. git push origin temp-branch:different-branch
  4. git branch -d temp-branch(可選)臨時分支:到遠程存儲庫,但以名稱git push origin :temp-branch。這有效地將特定的提交置於遙控器上的另一個分支上。 請記住,這將在遙控器上創建或更新
  5. 。 如果
已經存在並且已經與您當地的分支機構有所不同,則可能會導致衝突。 仔細考慮現有的遠程分支歷史是必不可少的。

以上是git 怎麼push指定的commit的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn