Saya mencoba mendorong salah satu proyek saya ke github, dan saya terus mendapatkan kesalahan ini:
peeplesoft@jane3:~/846156 (master) $ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
Jadi saya mencobanya dan mendapatkan ini:
peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master
fatal: Authentication failed
Urutan stackoverflow lain menyarankan saya mencoba yang berikut, dengan hasil yang mengecewakan.
peeplesoft@jane3:~/846156 (master) $ git push -u origin master
fatal: Authentication failed
Lalu saya mencoba ini:
peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD
peeplesoft@jane3:~/846156 (master) $ git push
fatal: Authentication failed
Ada petunjuk?
git
perintah yang diposting OP membantu saya, bahkan lebih dari jawabanJawaban:
Anda memperbaiki push, tetapi, terlepas dari masalah push itu (yang saya jelaskan di " Mengapa saya perlu mendorong cabang baru secara eksplisit? ":
git push -u origin master
Ataugit push -u origin --all
), Anda sekarang perlu menyelesaikan masalah otentikasi.Itu tergantung pada url Anda (ssh as in '
[email protected]/yourRepo
, atau https as inhttps://github.com/You/YourRepo
)Untuk https url:
Jika akun Anda dilindungi oleh otentikasi dua faktor , kata sandi Anda tidak akan berfungsi (untuk https url), seperti yang dijelaskan di sini atau di sini .
Masalah yang sama jika kata sandi Anda mengandung karakter khusus (seperti dalam jawaban ini )
Jika https tidak berfungsi (karena Anda tidak ingin membuat kunci sekunder, PAT: Token Akses pribadi), maka Anda dapat beralih ke ssh, seperti yang saya tunjukkan di sini .
Seperti dicatat oleh qwerty di komentar, Anda dapat secara otomatis membuat cabang dengan nama yang sama di remote dengan:
Mengapa?
.git\HEAD
file) memiliki refspec cabang saat memeriksa (misalnya:ref: refs/heads/master
)Karena refpec yang digunakan untuk push ini adalah head: (no destination),
:<dst>
berarti tidak ada untuk memperbarui ref yang sama dengan<src>
(head, yang merupakan cabang).Itu tidak akan bekerja jika KEPALA terlepas .
sumber
git push origin head -u
. Secara otomatis membuat cabang dengan nama yang sama pada remote.Anda juga dapat menggunakan perintah berikut:
Ini menciptakan (-u) cabang lain di repo jarak jauh Anda. Setelah otentikasi menggunakan ssh dilakukan itu.
sumber
-u
opsi adalah pintasan untuk--set-upstream
opsi yang tidak ada hubungannya dengan pembuatan cabang baru. Dari dokumentasi opsi-u
atau--set-upstream
: "Untuk setiap cabang yang mutakhir atau berhasil didorong, tambahkan referensi upstream (pelacakan), digunakan oleh argumen-less git-pull [1] dan perintah lainnya.". Sebenarnya saya tidak mengerti mengapa jawaban ini banyak dipilih karena menyesatkan.Rupanya Anda juga mendapatkan pesan kesalahan ini ketika Anda lupa
--all
parameter saat mendorong untuk pertama kalinya. saya menulisyang memberikan kesalahan ini, seharusnya
Oh betapa aku suka kesalahan salin-tempel ini ...
sumber
Anda harus mengkonfigurasi jarak jauh terlebih dahulu, lalu mendorong.
Instruksi Aktual
sumber
Silakan coba skenario ini
sumber
Jika Anda menentukan tindakan
git push
yang harus diambil jika tidak ada refspec diberikan pada baris perintah, tidak ada refspec yang dikonfigurasi di remote, dan tidak ada refspec yang tersirat oleh salah satu opsi yang diberikan pada baris perintah.Lakukan saja:
kemudian
sumber
Yah, saya mengalami masalah yang sama saat mengunggah dan saya menyelesaikannya dengan melakukan hal yang sama yang dikatakannya untuk dilakukan: Sebelumnya saya mencoba untuk mendorong melalui terminal ke repositori saya di linux dengan https seperti
Tetapi tidak mendapatkan hasil apa pun dan karenanya saya turun lebih dalam dan mencoba:
Dan itu berhasil. Maka Anda akan diminta dengan nama pengguna dan kata sandi. Saya juga membuat token dan bukannya Kata Sandi saya tempel token dan dengan demikian, berhasil dilakukan.
sumber
di sisi yang sangat sederhana, setelah Anda memiliki cabang lain, Anda tidak bisa hanya menggunakan untuk mendorong cabang
Tetapi Anda perlu menentukan cabang sekarang, bahkan jika Anda telah checkout cabang yang ingin Anda tekan, jadi
Di mana bahkan
master
cabangsumber
Saya membuat kesalahan sederhana yaitu lupa untuk melakukan:
lalu
git push origin master
bekerja.sumber
Saya memiliki masalah yang sama
Saya mengatasinya yang digunakan di bawah perintah
dan itu akan menambahkan konfigurasi dalam file konfigurasi di folder .git.
sumber
Pertama gunakan
git pull origin your_branch_name
Laluuse git push origin your_branch_name
sumber
Ada solusi sederhana untuk ini yang bekerja untuk saya di macOS Sierra. Saya melakukan dua perintah ini:
Jika itu menunjukkan kesalahan fatal tentang hulu setelah dorongan di masa depan maka jalankan saja:
sumber
1. Komputer dan github Anda terkait. Gunakan SSH. Kode komputer sehingga Anda tidak perlu mengirim verifikasi deskripsi gambar yang dimasukkan di sini
2. git tidak dapat mengelola folder kosong. Jadi, Anda harus menulis readme.md yang disimpan dalam file. Kalau tidak, Anda tidak akan menemukan file.
3. Proyek lokal Anda bukanlah proyek baru. Silahkan
git init
git remote add origin +"githublink"
git add .
git commit -m ""
pergi lagi.4. lalu
git pull origin master
(kuncinya)5. Akhirnya
git push origin master
(selesaikan semua masalah).http://my.oschina.net/psuyun/blog/123005参考 链接
sumber
Jika Anda mencoba untuk mendorong kode Anda langsung ke cabang master kemudian gunakan perintah
Itu membantu saya.
sumber
Saya juga mendapat kesalahan yang sama. Saya pikir itu karena saya mengkloningnya dan mencoba mendorong kembali. $ git push -u master asal Ini adalah perintah yang benar. Coba saja
Menghitung objek: 8, selesai. Kompresi Delta menggunakan hingga 2 utas. Mengompresi objek: 100% (4/4), selesai. Objek penulisan: 100% (8/8), 691 byte | 46,00 KiB / s, selesai. Total 8 (delta 1), digunakan kembali 0 (delta 0) jarak jauh: Menyelesaikan delta: 100% (1/1), selesai.
master [cabang baru] -> master Cabang master diatur untuk melacak master cabang jarak jauh dari asal.
sumber
Saya memiliki masalah yang sama, penyebabnya adalah saya lupa menentukan cabang
sumber
Bagi saya, saya mendorong perubahan ke repo pribadi yang saya tidak punya akses tulis. Pastikan Anda memiliki hak akses yang valid saat melakukan operasi push atau pull.
Anda dapat langsung memverifikasi via
sumber
Bagi saya, itu karena saya telah menghapus folder .git yang tersembunyi .
Saya memperbaikinya dengan menghapus folder, kloning ulang, dan membuat kembali perubahan.
sumber
Jika Anda berada di cabang mana pun, Anda dapat menggunakan ini:
Ini secara otomatis akan membuat cabang baru dengan nama yang sama pada remote.
sumber
Untuk mengatasi masalah ini, saat memeriksa kode
git
itu sendiri, Anda perlu memberikan perintah seperti di bawah ini:git checkout -b branchname origin/branchname
Di sini, secara default kami sedang mengatur
the upstream branch
, sehingga Anda tidak akan menghadapi masalah yang disebutkan.sumber
Bagi saya masalahnya datang dari nama cabang saya: "# name-of-my-branch", tanpa "#" itu berfungsi dengan baik!
sumber