[解決済み] あるリポジトリから別のリポジトリにgitパッチを適用するには?
2023-04-09 06:59:29
質問
2つのリポジトリがあります。1つはライブラリのメインリポジトリで、もう1つはそのライブラリを使用するプロジェクトです。
私が従属プロジェクトに修正を加えた場合、そのパッチを上流に戻して適用する簡単な方法が欲しいと思います。
各リポジトリでファイルの場所が違う。
-
メインリポジトリです。
www.playdar.org/static/playdar.js
-
プロジェクト
playlick.com/lib/playdar.js
私は
git format-patch -- lib/playdar.js
を使用し、次に
git am
に変更しましたが、パッチファイル内の異なるファイル位置がエラーを発生させました。
与えられたファイル上の与えられたコミットからのパッチを、別の場所にある任意のファイルに適用する簡単な方法はありますか?
ボーナスポイントとして、パッチを適用したいファイルが git リポジトリにない場合はどうすればよいでしょうか。
どのように解決するのですか?
パッチファイルを手動で編集するのが面倒な場合、標準のオプション (
git apply
,
git format-patch
と GNU
patch
).
-
-p<n>
削除n
を含むディレクトリをパッチのパスから削除します。 -
処理後
-p
,--directory=<root>
が追加されます。root
を適用前のパッチの各パスに付加します。
例
では、あなたの例では、元々
static/playdar.js
に適用し、それを
lib/playdar.js
に適用すると、実行されます。
$ cat patch_file | git am \
-p1 \ # remove 1 leading directory ('static/')
--directory='lib/' # prepend 'lib/'
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
git occurs このリポジトリで別のgitプロセスが動作しているようです。例えば、.NETで開いたエディタなど。エラー
-
GitのPlease enter a commit messageで、このマージが必要な理由を説明してください。
-
git push issues
-
[解決済み] stash@{1}は曖昧?
-
[解決済み] 対話式リベースを中断する方法(--abort が効かない場合)?
-
[解決済み] VSCodeからgitの統合を削除する
-
[解決済み] gitは "サイレントモード "で動作しますか?
-
[解決済み] 以前のコミットにファイルを追加するには?
-
[解決済み] Git のプッシュが "non-fast-forward" で拒否されました。
-
[解決済み] Gitのパッチを異なる名前とパスのファイルに適用するには?