git subtree split
から新しく作成されたリポジスには、指定したディレクトリに変更を加えたコミットのみが含まれます。
以下のように、元のGitのレポファイル構造を仮定します
Root
|___ file1
|___ file2
|___ subfolder/
|___ file3
|___ file4
、オリジナルとして歴史をコミット:あなたは新しいGitのレポにsubfolder
を分割するgit subtree split
を使用する場合は
* 8cb09fb (HEAD -> master) Merge branch 'dev' into matser
|\
| * e1e054c (dev) change file2 for fourth time merge
* | 6e8ee57 change file3 for fourth time merge
* | ebdfb0b Merge branch 'dev' into master
|\ \
| |/
| * 5d93766 change file2 for thrid time merge
* | b95668a change file1 for thrid time merge
* | 09ca222 Merge branch 'dev' into matser
|\ \
| |/
| * d3dc890 change file3 for second time merge
* | 5818123 change file1 for second time merge
* | cb39f04 Merge branch 'dev' into master
|\ \
| |/
| * 4dc4aaa change file3 and file4 on dev branch
* | fef775c change file3 and file4 on master branch
|/
* d8d81e6 add subfolder and it’s files
* 5446ea3 change file1
、その後、 subfolder
(file3
とfile4
)を変更したコミットだけが新しいリポジトリコミットの履歴に表示されます。以下のように新しいレポコミットの歴史:最初の5446ea
をコミットする、それだけで(subfolder
ディレクトリから)file1
を変更するために
プルリクエストの本質は、リポジトリ内のハッシュIDです。あなたのハッシュIDと既存のリポジトリはどうなりますか?それはあなたのプルリクエストにどうなるかに対する答えをあなたに伝えます。 – torek
プルリクエストはブランチよりも何もありません。 'fetch = + refs/pull/*/head:refs/remotes/origin/pr/*'のような行を追加することもできます。プルリクエストをマージしようとするのは、通常のコンフリクト解決で、ブランチをマージするのと同じです。 – o11c