У меня есть основная ветка и ветка add_db для простого проекта. Я сделал все свои правки кода и нажал на add_db. Однако я хочу объединить все эти коммиты в свою главную ветку. Когда я пытаюсь создать пул-реквест на github, я получаю сообщение об ошибке: не с чем сравнивать.
Я убедился, что у меня есть base: master compare: add_db.
Что я могу сделать, чтобы это исправить?
Это хранилище контекста: https://github.com/boxcarcoder/Task-List
В другом посте я видел, что могу использовать git rebase --onto или git cherry-pick, но я не уверен, как их использовать. Я новичок в git. Спасибо, что нашли время прочитать это.





Git commits are linked list of commits with later commit having and branches are pointers to the commit reference of previous commit. C1<-C2<-C3<-C4<-C5
Вы можете создать запрос на слияние, если ваша дочерняя ветка возникла из родительской.
master
|
v
C1<-C2<-C3 new_branch
^ |
| v
C4<-C5<-C6
если вы видите историю фиксации обеих веток, первая фиксация (фиксация головы) для них отличается. Таким образом, вы не можете создать запрос на слияние, поскольку обе ветки начинались с разной истории.
В твоем случае:
master
|
v
C1<-C2<-C3
C4<-C5<-C6
^
|
add_db
В вашем случае вы можете просто сравнить и объединить их, так как их объединение создаст новую фиксацию слияния и выровняет историю фиксации.
master: C1<-C2<-C3
\
C7(merge commit)
/
add_db: C4<-C5<-C6
Также убедитесь, что вы всегда создаете новую ветку из другой ветки.
Привет, Паритош, спасибо за ответ. Ваши изображения очень помогли мне понять, что происходит. Я сделал git merge add_db, чтобы объединить ветки, а затем git pull (git url) master --allow-unrelated-histories, чтобы обновить мою локальную главную ветку до моей удаленной главной ветки. Теперь, когда моя локальная главная ветка имеет коммиты add_db и обновлена с помощью коммитов с моего пульта дистанционного управления, теперь я могу использовать git push --set-upstream origin master. Моя главная ветка на github теперь содержит коммиты моего add_db. Спасибо за вашу помощь, я очень ценю это. Я поставил вам +1, но он не отображается
Я сделал git merge add_db, чтобы объединить ветки, а затем git pull (git url) master --allow-unrelated-histories, чтобы обновить мою локальную главную ветку до моей удаленной главной ветки. Теперь, когда моя локальная главная ветка имеет коммиты add_db и обновлена с помощью коммитов с моего пульта дистанционного управления, теперь я могу использовать git push --set-upstream origin master. Моя главная ветка на github теперь содержит коммиты моего add_db.
По сути, мне пришлось выполнить слияние, вытащить, а затем нажать, чтобы обновить главную ветку на моем пульте дистанционного управления в github.
Такого быть не должно. Проверить: github.com/boxcarcoder/Task-List/compare/add_db. Убедитесь, что:
base:master compare:add_dbпри создании Pull Request