Rumah  >  Soal Jawab  >  teks badan

git rebase遇到的一个疑问

最近工作git管理方面遇到一个疑问,如下:
我有两个分支devfeature 分支,目前出现如下疑问,
我在feature分支先执行 git pull origin feature操作,更新本地的分支到最新,然后执行了git rebase dev操作,最后执行git push origin feature时会遇到如下错误

To ssh://xxx@git.xxxx.com/project_xx/xxx.git
 ! [rejected]        feature -> feature (non-fast-forward)
error: failed to push some refs to 'ssh://xxx@git.xxxx.com/project_xx/xxx.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

最后再执行一次git pull origin feature操作才能成功,这样会产生一条merge log,并且内容为空Showing 0 changed files

疑问,为什么我之前已经执行了pull更新到最新了?不知道是不是我操作流程的问题,请大牛们指教,谢谢!

仅有的幸福仅有的幸福2727 hari yang lalu547

membalas semua(2)saya akan balas

  • 世界只因有你

    世界只因有你2017-05-02 09:21:29

    Soalannya sepatutnya seperti ini:
    Pertama sekali, cawangan ciri anda ialah cawangan terpencil Selepas anda menyandarkannya semula, cawangan ciri setempat akan berada di cawangan pembangun, tetapi cawangan penjejakan jauh ciri, asal/ciri, masih berada di lokasi asalnya. Kemudian jika anda menolak seperti ini, git tidak akan membenarkannya Apabila menolak, git akan menyemak komit sejarah cawangan Apabila komit terakhir cawangan semasa anda bukan komit terkini pada cawangan jauh, git akan menghalang anda daripada menyerahkan. . Anda dikehendaki menarik untuk mengikuti cawangan baru.
    Selain itu, mungkin bukan idea yang baik untuk memisahkan cawangan penjejakan daripada cawangan tempatan. Jika tujuan anda adalah untuk memadamkan cawangan penjejakan dan kemudian menyegerakkan struktur cawangan tempatan ke hujung jauh. Anda boleh memadamkan ciri jauh dahulu, git push origin :feature supaya cawangan penjejakan setempat akan hilang. Kemudian anda boleh menolak.

    balas
    0
  • PHP中文网

    PHP中文网2017-05-02 09:21:29

    Maaf, selepas ujian semula, saya mendapati ia berbeza sama sekali daripada apa yang saya fikirkan.
    Penolakan memang akan berlaku, anda hanya boleh tarik dan tolak semula, dan konflik mungkin berlaku.
    [Daripada percubaan saya sendiri, kerana selepas rebase, origin/feature telah bercabang, anda boleh menggunakan git gui untuk melihatnya, kerana rebase akan mengubah hubungan ibu bapa-anak antara commit]

    • Adalah disyorkan untuk meletakkan semula cawangan tempatan sahaja

    http://stackoverflow.com/questions/8939977/git-push-rejected-after-fea...

    balas
    0
  • Batalbalas