Saya mencoba memperbarui repositori Git di GitHub. Saya membuat banyak perubahan, menambahkannya, berkomitmen kemudian mencoba melakukan a git push
. Tanggapannya memberi tahu saya bahwa semuanya mutakhir, tetapi jelas tidak.
git remote show origin
merespons dengan repositori yang saya harapkan.
Mengapa Git memberi tahu saya bahwa repositori adalah yang terbaru ketika ada komit lokal yang tidak terlihat di repositori?
[searchgraph] git status
# On branch develop
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# Capfile
# config/deploy.rb
nothing added to commit but untracked files present (use "git add" to track)
[searchgraph] git add .
[searchgraph] git status
# On branch develop
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: Capfile
# new file: config/deploy.rb
#
[searchgraph] git commit -m "Added Capistrano deployment"
[develop 12e8af7] Added Capistrano deployment
2 files changed, 26 insertions(+), 0 deletions(-)
create mode 100644 Capfile
create mode 100644 config/deploy.rb
[searchgraph] git push
Everything up-to-date
[searchgraph] git status
# On branch develop
nothing to commit (working directory clean)
git push origin x
, masih belum menyiapkan cabang x untuk didorong di masa mendatang. Itu karena pushspec tertentu di.gitconfig
[remote "origin"]
bagian yang menyebabkan perilaku git.Ini terjadi pada saya ketika aplikasi SourceTree saya macet selama pementasan. Dan pada baris perintah, sepertinya perintah sebelumnya
git add
telah rusak. Jika ini masalahnya, coba:Pada perintah terakhir, Anda mungkin perlu mengatur cabang.
Ingatlah bahwa ini cukup jika Anda belum melakukan percabangan atau semacamnya. Dalam hal ini, pastikan Anda mendorong ke cabang yang benar seperti
git push origin develop
.sumber
Mencoba:
sumber
Silakan coba ke commit terakhir lalu lakukan
git push origin HEAD:master
.sumber
Push the current branch to the remote ref matching master in the origin repository. This form is convenient to push the current branch without thinking about its local name.
git push
: / ini bekerja untuk saya juga:git push origin HEAD:my_branch_name
.Untuk kasus saya, tidak ada solusi lain yang berhasil. Saya harus melakukan backup file baru yang dimodifikasi (ditunjukkan dengan
git status
), dan menjalankan filegit reset --hard
. Ini memungkinkan saya untuk menyetel kembali dengan server jarak jauh. Menambahkan file baru yang dimodifikasi, dan menjalankanBerhasil. Saya harap ini membantu seseorang, sebagai solusi "kesempatan terakhir".
sumber
Saat ini, tampaknya Anda berada di cabang pengembangan. Apakah Anda memiliki cabang pengembangan di tempat asal Anda? Jika tidak, coba
git push origin develop
.git push
akan bekerja setelah mengetahui tentang mengembangkan cabang di asal Anda.Sebagai bacaan lebih lanjut, saya akan melihat halaman manual git-push , khususnya, bagian contoh.
sumber
Untuk lebih spesifiknya, jika Anda ingin menggabungkan sesuatu menjadi master, Anda bisa mengikuti langkah-langkah di bawah ini.
Ini adalah praktik umum dalam model permintaan tarik, buat ke cabang lokal baru dan kemudian dorong cabang itu ke jarak jauh. Untuk itu Anda perlu menyebutkan di mana Anda ingin mendorong perubahan Anda dari jarak jauh. Anda dapat melakukan ini dengan menyebutkan remote pada saat push.
Jika Anda ingin membuat cabang selain nama cabang lokal Anda, Anda dapat melakukannya dengan perintah berikut.
sumber
Terima kasih kepada Sam Stokes. Menurut jawabannya Anda dapat menyelesaikan masalah dengan cara yang berbeda (saya menggunakan cara ini). Setelah memperbarui direktori pengembangan, Anda harus menginisialisasi ulang
Kemudian Anda dapat melakukan dan mendorong pembaruan ke master
sumber
git init
dan buka tab perintah baru, ketik:git push origin branch_name
Ini terjadi pada saya ketika saya
^C
di tengah-tengahgit push
ke GitHub. Namun, GitHub tidak menunjukkan bahwa perubahan telah dilakukan.Untuk memperbaikinya, saya membuat perubahan pada pohon kerja saya, berkomitmen, lalu mendorong lagi. Ini bekerja dengan baik.
sumber
Ini terjadi pada saya. Saya baru saja melakukan perubahan, dan kemudian mendorong.
sumber
Saya mencoba banyak metode termasuk didefinisikan di sini. Apa yang saya dapatkan adalah,
Pastikan nama repositori valid. Cara terbaik adalah dengan menyalin tautan dari situs repositori dan menempelkannya di git bash.
Pastikan Anda telah melakukan file yang dipilih.
Jika kedua langkah tidak berhasil, coba
git push -u -f origin master
sumber
Sebagai gantinya, Anda dapat mencoba yang berikut ini. Anda tidak harus pergi ke
master
; Anda dapat langsung mendorong perubahan dari cabang Anda sendiri.Seperti yang dijelaskan di atas, saat Anda melakukan rebase, Anda mengubah histori di cabang Anda. Akibatnya, jika Anda mencoba melakukan normal
git push
setelah rebase, Git akan menolaknya karena tidak ada jalur langsung dari komit di server ke komit di cabang Anda. Sebaliknya, Anda harus menggunakan tanda-f
atau--force
untuk memberi tahu Git bahwa ya, Anda benar-benar tahu apa yang Anda lakukan. Saat melakukan push paksa, sangat disarankan agar Anda menyetelpush.default
pengaturan konfigurasi menjadi sederhana, yang merupakan default di Git 2.0. Untuk memastikan bahwa konfigurasi Anda sudah benar, jalankan:Setelah benar, Anda bisa langsung menjalankan:
Dan periksa permintaan tarik Anda. Ini harus diperbarui!
Lihat bagian bawah How to Rebase a Pull Request untuk lebih jelasnya.
sumber
Juga pastikan Anda mendorong ke cabang yang benar.
sumber
Ini terjadi pada saya setelah saya mencoba mendorong dari cabang baru dan saya menggunakannya
git push origin master
sebagai gantinya. Anda harus:git push origin your_new_branch
jika Anda ingin cabang ini terjadi juga di repo jarak jauh.git merge origin master
.sumber
sumber