Это странно. Там, по-видимому, есть разница между перезагрузкой моего местного филиала develop
и удаленной веткой develop
. Вот некоторые подробности:git rebase - разница между переустановкой и развитием/развитием?
Так скажем, у меня есть функция ветвь, feat
, который я перебазирования время от времени:
git pull --rebase origin develop
Это работает нормально. Но теперь я сделал и готов раздавить мои фиксации и я заметил большую разницу между:
git rebase -i origin develop
и
git rebase -i develop
Бывшие воспитывает мой редактор с ОГРОМНЫМ списка коммитов develop
, ни один из них не является моим изменением на feat
. Он также переключает меня на ветку develop
. Последний вызывает мой редактор только моими коммитами на feat
и не переключает меня в мою локальную ветвь develop
.
Действительно ли git rebase -i origin develop
действительно переключает меня в мой местный develop
, а затем перезаряжается на пульте дистанционного управления? Предполагаю ли я git checkout develop; git pull
, а затем git checkout feat; git rebase -i develop
?
Я просто ударил себя в лоб. Умственно. Синтаксис «удаленная ветка» и «удаленный/ветвь» всегда меня отбрасывает. Мне жаль, что они не застряли в одном формате. Спасибо! – CaptSaltyJack
Для типичного повседневного использования Git, возможно, это поможет подумать об этом таким образом. Когда вы выполняете сетевые операции с удаленным (например, 'push',' push', 'fetch'), вам нужно указать удаленный доступ к переговорам, таким образом,' remote branch', или если на удаленном сервере есть ветви с именами, даже 'remote Пространство имен/branch'. Если вы не разговариваете с пультом дистанционного управления, вам нужен ссылочный (то есть ответ) путь. Помните, что 'remote/branch' является сокращением для пути' refs/remotes/remote/branch', который находится в каталоге '.git' вашего репо. Когда вы просто говорите «ветвь», это сокращение для 'refs/heads/branch' в том же каталоге' .git'. –