AとBの 2 つの git リポジトリを所有 しており、どちらも主に独自のマスター ブランチで使用されています。
には次のフォルダが含まれています。
- フォルダ1
- フォルダ2
Bには次のフォルダーが含まれています。
- フォルダ3
Aを含むfolder3を展開するために、Bfolder3
からAにプッシュしたいと思います。私はこの種の関係を一方向のみ、つまりAはBを更新しますが、 BからAへは更新しないようにしたいと考えています。pull
これらのファイルを含む A になります。
- フォルダ1
- フォルダ2
- folder3 (プッシュ)
もちろん、最初の展開に関しては、Aはfolder3の存在を知りませんでした。
したがって、このタスクをうまく達成していると思われるコマンドgit subtreeを Web で見つけました。
したがって、Bリポジトリのディレクトリでこのタスクを達成するために行った手順全体は次のとおりです。
git remote add A https://githubAdressOfA
git subtree prefix --folder3 --squash A master
ただし、この種のエラーに遭遇しました:
Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
私によると、上記で説明した単方向シナリオの場合、「サブツリー」の概念でpull
はBリポジトリは必要ありません。
この場合、効率的に対処するにはどうすればよいですか?subtree
コマンドの使い方を間違えたのかな…