Нажмите ветку с предварительным требованием к github

Скажем, от моего первоначального учителя я внес в него определенные изменения и совершил изменение вовремя t1 Затем я подтолкнул это к GitHub (называя это branchA). Затем я сделал другое изменение и совершил его вовремя t2, Я не хочу подталкивать это к branchA, но я хочу перенести его в другую ветку под названием branchB,

Можно ли перечислить branchA в качестве предпосылки для branchB так что когда я делаю запрос на извлечение, разница в branchB НЕ включает изменения, совершенные при t1другими словами, разница в branchB должен показывать только разницу между branchA а также branchB?

Bazaar/Launchpad предлагает эту опцию, но я не смог найти подобную функцию в Github, (Я новичок в gitтак что, возможно, это не то, что они делают в Github?)

1 ответ

Решение

Это означает, что у вас есть:

Local Repo                  Upstream (GitHub Repo)

 .--.--o--x--y branchA   <====> o--o--x branchA
(master)

Но вы хотите:

.--.--o--x branchA      <====> o--o--x branchA
(mast) \
        y branchB        => you can push now

Это означает, что вам нужно сначала пройти на o что последует за x (t1) чтобы построить branchB локально, прежде чем толкнуть его на вилку.

git checkout branchA                
git branch branchB                  # creates branchB where branchA currently is
git reset --hard origin/branchA     # reset branchA to x
git rebase --onto master x branchB  
Другие вопросы по тегам