Semua penyerahan diserahkan pada cawangan induk
Projek ini dibangunkan oleh dua pihak Kerana kami sering menggunakan fail masing-masing, kami tidak bercadang untuk melakukan dan mengubah suai pembangunan cawangan pada cawangan utama Setiap kali kami menyerahkan kod, kami menggunakan arahan seperti git pull
dan kemudian git add . git commit git push
, tetapi ralat sering dilaporkan , versi apa更新被拒绝,因为您当前分支的提示后面
Updates were rejected because the tip of your current branch is behind
apa yang menyebabkan ini;
Sebagai contoh, cawangan dalam talian anda mempunyai dua komit 1 dan 2
Cawangan luar talian anda juga mempunyai dua komit 1 dan 3
Pada masa ini, selepas anda menarik cawangan dalam talian, ia mungkin 123, atau mungkin jadi Ia adalah 132 (gunakan Google Baidu untuk membuat asas semula)
Jika cawangan dalam talian anda adalah 12 dan cawangan luar talian anda adalah 132 selepas tarik, maka akan berlaku konflik dan membawa kepada situasi anda (anda hanya boleh menambahnya pada penghujung dan tidak memasukkannya di tengah)
Situasi lain ialah apabila pindaan digunakan Pada masa ini, walaupun nampaknya penyerahan dalam talian dan luar talian anda adalah satu (mesej komit adalah sama), ia sebenarnya berbeza (id komit. telah berubah), jadi git akan menganggap bahawa ia adalah dua penyerahan Terdapat pertindihan dalam perubahan yang diserahkan, mengakibatkan konflik
Untuk menyelesaikan masalah ini, anda perlu menggunakan push -f untuk memaksa penyerahan fungsi perintah ini. Kami tidak bertanggungjawab atas sebarang akibat
Pernahkah anda menyerahkan pindaan?
git pull --rebase (escape
Selepas anda menarik kod ke git pull, anda harus menggabungkannya dengan master git rebase tempatan anda dan kemudian menolaknya
Mula-mula semak status git status, jika merah, git add ., jika ada amaran, paksa -A, tambah diikuti dengan commit, commit dan kemudian tarik muat turun, jika terdapat konflik selepas tarik, selesaikan konflik dahulu dan kemudian mula semula dari tambah, dan akhirnya menolak, sekurang-kurangnya saya membuat beberapa kesilapan dalam berbuat demikian. .
Oleh kerana kod telah dihantar ke repositori git jauh, anda tidak boleh menyerahkannya secara langsung Anda mesti menyegerakkan kod repositori jauh ke tempat anda sebelum anda boleh menyerahkannya menyerahkan -- rebase