1

コードを git リポジトリからローカル ディレクトリにチェックアウトしようとしています。

サーバー上のコードに加えられた変更を公開できるように、コード全体をチェックするのではなく、2 つのリビジョンの間に行われた特定の量の変更だけをチェックアウトしたいと考えています。

svncheckout のように、リビジョン番号を指定すると変更がチェックアウトされ、サーバー上でコードを公開できます。

さまざまな方法を試しましたが、それを行うための非常に便利な方法が見つかりませんでした。私も git checkout を試しましたが、それはレポからコード全体をチェックアウトしています。

誰かがこれについて私を助けることができれば、それは非常に素晴らしいことです.

4

1 に答える 1

1

2 つのコミット (または一連のコミット) 間の差分を取得し、その差分をリポジトリの別のコピーに自動的に適用しようとしているように思えます。さまざまなパッチ コマンドを使用してみてください。format-patch - nを使用して、最後のn 個のコミットからパッチ ファイルを生成します。

    $ git format-patch -3

これにより、最後の 3 つのコミットのすべての変更に対してパッチ ファイル (基本的にはコード化された差分ファイル) が生成されます。次に、am コマンドを使用してパッチを適用します。

    $ git am /path/to/patch-file

パッチコマンドを使用する前に、よく読んでおくことを強くお勧めします。共有リモートを使用せずにリポジトリを同期すると、あらゆる種類のマージ競合が発生する可能性があり、パッチ システムを介してそれらを解決することは、通常のマージの問題を解決することとは少し異なります。

于 2013-02-22T04:40:15.690 に答える