Saya bekerja dalam sebuah tim dengan beberapa pengembang yang menggunakan git di BitBucket. Kami semua sedang mengerjakan satu dev
cabang, tidak mendorong master
sampai rilis.
Salah satu pengembang melakukan kesalahan kode yang menimpa kode saya sendiri secara tidak sengaja, dan sekarang saya mencoba untuk memasukkan kode yang benar kembali ke repo. Saya telah membaca kesalahan ini selama beberapa hari sekarang, saya tidak dapat mendorong ke repo lagi karena saya mendapatkan kesalahan berikut:
! [rejected] master -> dev (fetch first)
error: failed to push some refs to 'https://[email protected]/repo_user/repo_name.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Saya mengikuti instruksi dan pull
, tapi kemudian saya menerima konflik gabungan. Setelah memasukkan pesan untuk konflik penggabungan, kode lokal saya sekarang adalah kode yang salah yang diunggah oleh pengembang lain secara tidak sengaja (seperti yang diharapkan dari pull
). Jadi saya mengganti kode yang salah dengan cadangan yang saya salin sebelum melakukan, dan ketika saya mencoba mendorong lagi, saya mendapatkan kesalahan yang sama.
Sungguh membuat frustrasi, saya benar-benar ingin membantu tim saya dan berkontribusi, tetapi saya tidak bisa karena kesalahan ini. Adakah yang tahu bagaimana mengatasi masalah ini? Saya akan sangat menghargai bantuan apapun.
Ini adalah perintah yang saya jalankan untuk melakukan, jika itu membantu siapa pun:
git pull remotename master:dev
git add --all
git commit -m "some message"
git pull remotename master:dev
git push remotename master:dev
Saya akan berpikir bahwa jika saya menjaga pesanan ini, saya tidak akan menerima konflik penggabungan. Saya kira saya salah. Terima kasih lagi
Pembaruan: Saya harus menambahkan bahwa saya telah mencari beberapa jam di Google dan stackoverflow, dan mengikuti instruksi yang berbeda, tetapi saya masih tidak bisa push
ke dev
cabang.
git pull --rebase
.Gunakan perintah ini di terminal
sumber
Itu terjadi ketika kita mencoba untuk mendorong ke repositori jarak jauh tetapi telah membuat file baru di jarak jauh yang belum ditarik, katakanlah
Readme
. Dalam kasus seperti kesalahan mengatakankarena kami belum memperbarui jarak jauh di lingkungan lokal kami. Jadi Ambil tarik dulu dari jarak jauh
Ini akan memperbarui repositori lokal Anda dan menambahkan
Readme
file baru . Kemudian Dorong perubahan yang diperbarui ke jarak jauhsumber
git pull origin develop
ke cabang pengembangan lokal saya, tetapi sekarang, hanya melakukannyagit pull
bekerja dengan baik bagi saya, saya tidak tahu mengapa.git pull
sudah cukupIni biasanya terjadi ketika repo berisi beberapa item yang tidak ada secara lokal. Jadi untuk mendorong perubahan kita, dalam hal ini kita perlu mengintegrasikan perubahan jarak jauh dan kemudian mendorong.
Jadi buat tarikan dari jarak jauh
Kemudian dorong perubahan ke remote itu
sumber
Paksa untuk mendorong
git push -f origin master
sumber
Saya memperbaikinya, saya tidak yakin apa yang saya lakukan. Saya mencoba hanya mendorong dan menarik menggunakan:
git pull <remote> dev
dari padagit pull <remote> master:dev
Semoga ini membantu seseorang jika mereka mengalami masalah yang sama.
sumber
Anda perlu memasukkan:
Jika Anda menggunakan
git push origin master --force
, Anda akan mendapatkan masalah besar.sumber
git fetch
dangit merge
lagi secara manual setelah menjalankangit pull
yang berisi mereka ?Anda bisa mencoba ini:
git pull origin master --rebase
sumber
Sebenarnya github jauh lebih sederhana dari yang kita pikirkan dan ini benar-benar terjadi setiap kali kita mencoba untuk mendorong bahkan setelah kita secara eksplisit memasukkan beberapa file ke dalam repositori git kita jadi, untuk memperbaiki masalah ini cukup coba ..
: git pull
lalu..
: git push
Catatan: jika Anda secara tidak sengaja terjebak di editor vim setelah menarik repositori Anda daripada jangan khawatir, tutup saja editor vim dan coba push :)
sumber
Saya telah melakukan langkah-langkah di bawah ini. akhirnya itu bekerja dengan baik.
Langkah
1) git init
2) status git (untuk memeriksa status)
3) git add. (tambahkan semua file perubahan (.))
4) git commit -m
"<pass your comment>"
5) git remote add origin
"<pass your project clone url>"
6) git pull --allow-unrelated-histories
"<pass your project clone url>"
master7) git push -u
"<pass your project clone url>"
mastersumber
Saya mengalami kesalahan ini dan itu karena ada pembaruan di server tetapi SourceTree tidak menunjukkan pembaruan apa pun yang tersedia (mungkin karena saya sedang offline saat terakhir diperiksa). Jadi saya melakukan penyegaran di pohon sumber dan sekarang ini menunjukkan 2 item untuk didorong, bukan 1 item.
Jadi pastikan untuk menekan segarkan atau tarik jika Anda mendapatkan kesalahan ini dan kemudian coba lagi.
sumber
Peringatan git push -f origin master
sumber
Kesalahan mungkin terjadi karena perbedaan struktur kode yang Anda lakukan dan yang ada di GitHub. Anda dapat merujuk ke: Cara menangani kesalahan " menolak untuk menggabungkan riwayat yang tidak terkait ":
sumber
Pilihan terbaik untuk saya dan bekerja dan sederhana
git pull --rebase
kemudian
git push
semoga berhasil
sumber
Beginilah cara saya memecahkan masalah ini:
git pull origin master
git push origin master
Ini biasanya terjadi ketika cabang jarak jauh Anda tidak diperbarui. Dan setelah ini jika Anda mendapatkan kesalahan seperti "Silakan masukkan pesan komit" Lihat ini (Bagi saya jawaban xiaohu Wang berfungsi :))
sumber
Saya memiliki proyek SSDT VS terlebih dahulu. Saya ingin mendorong proyek seperti yang saya miliki ke Github. Saya ingin dorongan itu menjadi versi awal repo saya yang memulai cabang master. Saran Donal tentang git push -f origin master adalah cara termudah (yang saya lihat) untuk mencapai ini. Karena saya tidak perlu khawatir untuk menulis ulang apa pun, sepertinya masuk akal.
sumber
Saya memiliki masalah yang sama. Kebetulan saya telah membuat file .Readme di repositori tanpa menariknya terlebih dahulu.
Anda mungkin ingin menghapus file .Readme atau menariknya sebelum mendorong.
sumber
kamu bisa memakai
ini akan membantu jika Anda memiliki beberapa perubahan yang belum terdaftar di repo lokal Anda. terutama
README.md
sumber