首页 >开发工具 >git >git 怎么push指定的commit

git 怎么push指定的commit

Johnathan Smith
Johnathan Smith原创
2025-03-06 13:39:17787浏览

>将特定的提交推向远程分支:综合指南

>本文解决了与将特定提交推向远程分支有关的几个常见的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