ホームページ >開発ツール >Git >指定されたコミットをプッシュする方法

指定されたコミットをプッシュする方法

Johnathan Smith
Johnathan Smithオリジナル
2025-03-06 13:39:17778ブラウズ

リモートブランチへの特定のコミットをプッシュする:包括的なガイド

この記事では、特定のコミットをリモートブランチにプッシュすることに関連するいくつかの一般的なgit質問に対処します。 さまざまなgitコマンドと戦略を使用してこれを達成する方法を探ります。

特定のコミットをプッシュする方法

単一の特定のコミットをリモートブランチにプッシュするには、特定のコミットハッシュを使用してgit pushコマンドを使用する必要があります。 リモートリポジトリのa1b2c3d4remote-branchブランチにコミットをプッシュしたいとしましょう。 単純なgit push origin remote-branchで単一のコミットを直接指定することはできません。代わりに、ローカルリポジトリでその特定のコミットを指す新しいRefを作成し、そのrefをリモートにプッシュする必要があります。 これは、次の手順を使用して行われます。

  1. コミットハッシュを見つけてください:git loga1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6を使用して、プッシュしたいコミットのSHA-1ハッシュを識別します。 これは通常、40文字の16進数文字列(例:
  2. )です。たとえば、
  3. <code class="bash">git branch temp-branch a1b2c3d4</code>
  4. 一時的なRefを押します:
  5. この一時的なブランチをリモートリポジトリに押します。 リモート名(ほとんどの場合

    )とブランチ名(この例では)を指定します:origintemp-branch

    <code class="bash">git push origin temp-branch</code>
  6. (オプション)一時的なブランチを削除します。コミットがプッシュされます。 リモートブランチには、その単一のコミットのみが含まれます。

    <code class="bash">git branch -d temp-branch
    git push origin :temp-branch</code>
    、および
  7. を実際の値に置き換えることを忘れないでください。

リモートブランチに単一のコミットのみを選択的にプッシュするにはどうすればよいですか?a1b2c3d4origin上記のメソッド - 一時的なブランチを作成してプッシュする方法は、単一のコミットのみを選択的にプッシュする最も信頼できる方法です。 リモートブランチでチェリーピックやその他の方法を直接使用しようとすると、特にリモートブランチが地元のブランチから大幅に分岐した場合、矛盾が矛盾し、競合をマージすることができます。 一時的なブランチアプローチは、支店の履歴の残りに影響を与えることなく、単一のコミットを追加するためのクリーンで制御された方法を提供します。

後続のコミットをプッシュせずに特定のコミットをプッシュするためにどのコマンドを使用する必要がありますか?

最初のセクションで概説されているコマンドシーケンスが最も適切です。 gitは、ソースに対して単一のコミットハッシュではなく、ブランチ参照を期待するため、git push origin <branch>:<commit>を使用することは確実に機能しません。 一時的なブランチは、その必要な参照として機能し、プッシュ操作の単一のコミットをきれいに分離します。 最初のセクションで説明した方法は、現在チェックアウトされているブランチに関係なく機能します。

コマンドでターゲットブランチ名を指定するだけです。 たとえば、Commed

という名前のリモートブランチにプッシュするには、次の名前を使用します。

git pusha1b2c3d4different-branch一時的なブランチを作成します。リポジトリですが、名前の下

。これにより、特定のコミットがリモート上の別のブランチに効果的に配置されます。 これにより、リモート上の
    を作成または更新することを忘れないでください。
  1. はすでに存在し、地元の支店から分岐した場合、これは後で紛争につながる可能性があります。 既存のリモートブランチの履歴を慎重に検討することが不可欠です。

以上が指定されたコミットをプッシュする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。