3

最近、私は SVN から git に移行しましたが、私のチームはすでに新しい git リポジトリで作業を開始しています。

後で、変換に関するいくつかの問題を発見し、いくつかの修正と履歴の書き換えを行って SVN から 2 つ目の git リポジトリを作成しました。

今、私はSVNリポジトリの2番目のgitコピーを持っています(私は満足しています)。最初のgitリポジトリで私のチームですでに行われた変更でパッチを適用したいと思います。

そのような目的のために、私はgitパッチを使用しようとしています:

  • git-format-patch --zero-commit --stdout > master.patchmaster最初の git リポジトリ に既に加えられた変更の単一ファイルを作成する
  • 2番目のリポジトリのファイルからコミットをgit-am適用する*.patchmaster

を指定--zero-commitします。パッチ ファイルのハッシュが間違っているためです。実際には 2 つの異なるリポジトリがあります。

問題は、パッチを適用しようとすると、次のようにgit am master.patchなることです。

適用中: %commit_name% エラー: パッチが失敗しました: readme.md:5 エラー: readme.md: パッチは適用されません パッチは 0001 %commit_name% で失敗しました 失敗したパッチのコピーは次の場所にあります: .git/rebase-apply/ patch この問題を解決したら、"git am --continue" を実行します。このパッチをスキップしたい場合は、代わりに「git am --skip」を実行してください。元のブランチを復元してパッチ適用を停止するには、「git am --abort」を実行します。

このパッチにコミットが 1 つしかなく、同じリポジトリに適用して同じコミットを取得したい場合でも、別のブランチに適用します。

4

1 に答える 1

0

--ignore-whitespace主な問題を解決するために追加するように見えgit amますが、まだ次のような警告があります:

.git/rebase-apply/patch:56: 末尾

警告: 9 の空白が押しつぶされました

エラー警告: 14 行で空白エラーが追加されます。

于 2016-11-29T11:03:58.667 に答える