Jawabannya ada, git memberi tahu Anda untuk mengambil dulu.
Mungkin orang lain telah mendorong untuk menguasai, dan komitmen Anda tertinggal. Oleh karena itu Anda harus mengambil, menggabungkan set perubahan, dan kemudian Anda akan dapat mendorong lagi.
Jika tidak (atau lebih buruk lagi, jika Anda memaksanya dengan menggunakan --force
opsi), Anda dapat mengacaukan riwayat komit.
EDIT: Saya menjelaskan lebih detail tentang poin terakhir, karena seorang pria di sini baru saja memberikan Saran Sangat Buruk untuk menggunakan --force
opsi.
Karena git adalah DVCS, idealnya banyak pengembang lain yang mengerjakan proyek yang sama dengan Anda, menggunakan repositori yang sama (atau percabangannya). Jika Anda menimpa secara paksa dengan set perubahan Anda, repositori Anda akan tidak cocok dengan orang lain, karena "Anda menulis ulang riwayat". Anda akan membuat orang lain tidak senang dan repositori akan menderita. Mungkin anak kucing di dunia akan menangis juga.
TL; DR
- Jika Anda ingin menyelesaikannya, ambil dulu (lalu gabungkan).
- Jika Anda ingin meretas, gunakan
--force
opsi.
Tapi kau meminta yang pertama. Gunakan 1) selalu, meskipun Anda akan selalu menggunakan git sendiri, karena ini adalah praktik yang baik.
mencoba:
Setelah menulis kode ini, saya menerima kesalahan lain: (non-fast-forward)
Saya menulis kode ini:
Dan menyelesaikan masalah saya
sumber
git merge master
.Anda harus menggunakan
git pull
, perintah itu melakukan agit fetch
dan selanjutnya melakukangit merge
.Jika Anda menggunakan
git push origin master --force
perintah, Anda mungkin mengalami masalah di masa mendatang.sumber
pull selalu merupakan pendekatan yang tepat tetapi satu pengecualian mungkin terjadi saat Anda mencoba mengonversi sistem file none-Git ke repositori Github. Di sana Anda harus memaksakan commit pertama.
sumber
Coba perintah git ini
atau kekurangan tenaga
-f
git push origin master -f
sumber
Seperti yang dinyatakan dalam pesan Kesalahan, Anda harus "mengambil dulu". Ini berhasil untuk saya. Gunakan perintah:
git fetch origin master
Kemudian ikuti langkah-langkah berikut untuk menggabungkan:
git pull origin master
git add .
git commit -m 'your commit message'
git push origin master
sumber
Silakan coba perintah ini untuk menyelesaikannya -
Atau
sumber
Anda dapat menggunakan perintah berikut: Pertama-tama klon salinan baru repo Anda, menggunakan --mirror flag:
Kemudian ikuti kode yang sesuai:
Menambahkan proyek yang ada ke GitHub menggunakan baris perintah
Bahkan jika itu tidak berhasil, Anda cukup membuat kode:
atau
sumber
Ikuti langkah-langkah yang diberikan di bawah ini karena saya juga memiliki masalah yang sama:
(Untuk melihat apakah cabang lokal dapat dengan mudah digabungkan dengan yang jauh)
(Sekarang dorong seluruh konten repositori git lokal ke repositori online Anda)
sumber
Sepertinya ada orang lain (mis. Kolega Anda) telah memasukkan komit ke
origin/master
yang tidak ada dimaster
cabang lokal Anda , dan Anda mencoba mendorong beberapa komit dari cabang lokal Anda ke server. Dalam 99% kasus, dengan asumsi Anda tidak ingin menghapus pekerjaan merekaorigin
, Anda memiliki dua opsi:2) Gabungkan perubahan mereka ke cabang lokal Anda, lalu dorong hasil gabungan.
git checkout master git pull # resolve conflicts here git push
(Perhatikan bahwa
git pull
pada dasarnya hanya agit fetch
dan agit merge
dalam kasus ini.)1) Ratakan basis cabang lokal Anda, sehingga sepertinya kolega Anda membuat komitmennya terlebih dahulu, lalu Anda membuat komitmen. Ini membuat riwayat komit bagus dan linier - dan menghindari "komit gabungan". Namun, jika Anda memiliki konflik dengan perubahan kolega Anda, Anda mungkin harus menyelesaikan konflik tersebut untuk setiap komitmen Anda (bukan hanya sekali) dalam kasus terburuk. Pada dasarnya ini lebih baik untuk orang lain tetapi lebih banyak usaha untuk Anda.
git pull --rebase # resolve conflicts here git push
(Perhatikan bahwa
git pull --rebase
pada dasarnya adalah agit fetch
dan agit rebase origin/master
.)sumber
Terkadang itu terjadi ketika Anda menggandakan file biasanya semacam README.
sumber
Kesalahan Anda mungkin karena cabang gabungan.
Ikuti saja ini:
langkah 1:
git pull origin master
(jika Anda mendapatkan pesan apa pun, abaikan)langkah 2:
git add .
langkah 3:
git commit -m 'your commit message'
langkah 4:
git push origin master
sumber
Pertama, Anda harus menggunakan
git pull
, lalu perintah do agit fetch
dan selanjutnya lakukan git merge.Jika Anda menggunakan
git push origin master --force
perintah, Anda mungkin mengalami masalah di masa mendatang.sumber
Saya mengatasi ini dengan memeriksa cabang baru seperti ini:
Anda memiliki 2 cabang: Master dan cabang baru, yang dapat Anda gabungkan nanti.
sumber
Anda hanya perlu menyebutkan nama cabang Anda bersama dengan nama jarak jauh Anda.
sumber
Alasan hal itu terjadi dalam kasus saya adalah saat membuat tautan perwakilan GitHub, saya menginisialisasinya dengan file README
Saat membuat Git remote jangan menginisialisasi dengan file README jika tidak maka akan menampilkan err
Jangan lakukan itu & itu pasti akan berfungsi dengan baik Alih-alih menginisialisasi dengan file readme jika Anda ingin setelah mendorong ke cabang master
sumber
Ini berhasil untuk saya, karena tidak ada solusi lain yang berhasil untuk saya. TIDAK BAHKAN PAKSA!
https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-using-the-command-line
Hanya harus melalui Git Bash
Kemudian kembali ke cmd saya dan saya bisa:
git push heroku master
yang dalam kasus saya adalah masalahnya.sumber
--force
opsi bekerja untuk saya, saya dulugit push origin master --force
sumber
! [ditolak] master -> master (ambil dulu) kesalahan: gagal mendorong beberapa referensi ke '[email protected]:'
Berhasil menyelesaikan masalah menggunakan perintah --force. jadi, Anda harus menggunakan
git push origin master --force
sumber
Gunakan perintah ini:
sumber
ini bekerja untuk saya
git init
git add --all
3. git commit -m "name"
4. git push origin master - force
sumber
Ini berhasil untuk saya:
sumber
Masalah Terselesaikan
Masalah yang saya miliki
Saya juga punya masalah yang sama. Masalahnya adalah Anda
commits
di repositori lain tidak berhasilpushed
sehingga Anda perlu menjalankan perintah berikut:git fetch origin master
keluaran:
From https://github.com/username/repo-name * branch master -> FETCH_HEAD
git merge origin master
keluaran:
Merge made by the 'recursive' strategy.
repo-name/ReadMe.md | 1 -
1 file changed, 1 deletion(-)
git push
keluaran:
Enumerating objects: 8, done. Counting objects: 100% (8/8), done. Delta compression using up to 8 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 1.00 KiB | 1.00 MiB/s, done. Total 6 (delta 2), reused 0 (delta 0) remote: Resolving deltas: 100% (2/2), completed with 1 local object. To https://github.com/user_name/repo-name.git 0852d5vf..70v56d9 master -> master
Terima kasih banyak
sumber
Saya pikir itu karena koneksi tetapi saya menggunakan ini:
sumber
--force
akan mengacaukangit
riwayat komit itu tidak akan baik untuk menggunakannya.Sederhana gunakan perintah ini:
dan itu akan menyelesaikan pekerjaan Anda
sumber