Rumah > Soal Jawab > teks badan
最近工作git
管理方面遇到一个疑问,如下:
我有两个分支dev
和 feature
分支,目前出现如下疑问,
我在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
更新到最新了?不知道是不是我操作流程的问题,请大牛们指教,谢谢!
世界只因有你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.
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]
http://stackoverflow.com/questions/8939977/git-push-rejected-after-fea...