Saya baru mengenal Git / GitHub dan mengalami masalah. Saya membuat proyek pengujian dan menambahkannya ke repositori lokal. Sekarang saya mencoba menambahkan file / proyek ke repositori jarak jauh.
Inilah yang saya lakukan (dan ini berhasil) -
git remote add origin git://github.com/my_user_name/my_repo.git
Sekarang ketika saya mencoba untuk mendorong repositori ke GitHub, menggunakan perintah berikut, saya mendapatkan kesalahan berikut -
git push origin master
Kesalahan -
fatal: remote error:
You can't push to git://github.com/my_user_name/my_repo.git
Use [email protected]:my_user_name/my_repo.git
Jawaban:
GitHub tidak mendukung mendorong protokol Git, yang ditunjukkan dengan penggunaan awal URL Anda
git://
. Seperti yang dikatakan pesan kesalahan, jika Anda ingin mendorong, Anda harus menggunakan URL SSH[email protected]:my_user_name/my_repo.git
atau protokol "HTTP pintar" dengan menggunakanhttps://
URL yang GitHub tunjukkan kepada Anda untuk repositori Anda.(Pembaruan: yang mengejutkan saya, beberapa orang tampaknya berpikir bahwa dengan ini saya menyarankan bahwa "https" berarti "HTTP pintar", yang saya tidak. Git digunakan untuk memiliki protokol "HTTP bodoh" yang tidak mengizinkan mendorong sebelumnya "HTTP pintar" yang digunakan GitHub diperkenalkan - bisa digunakan lebih dari satu
http
atauhttps
. Perbedaan antara protokol transfer yang digunakan oleh Git dijelaskan dalam tautan di bawah ini.)Jika Anda ingin mengubah URL asal, Anda bisa melakukan:
atau
Informasi lebih lanjut tersedia di 10.6 Git Internal - Protokol Transfer .
sumber
Gunakan jawaban Mark Longair , tetapi pastikan untuk menggunakan tautan HTTPS ke repositori:
Anda bisa menggunakannya
git push origin master
.sumber
git push
juga berfungsi.Solusi yang digunakan Mark Longair
git remote set-url...
cukup jelas. Anda juga bisa mendapatkan perilaku yang sama dengan secara langsung mengedit bagian file .git / config ini:sebelum:
setelah:
(Dan sebaliknya,
git remote set-url...
doa menghasilkan perubahan di atas.)sumber
Ada solusi sederhana untuk ini bagi seseorang yang baru dalam hal ini:
Edit file konfigurasi di direktori .git lokal Anda (
config
). Ubahgit:
kehttps:
bawah.sumber
Saya mengalami masalah ini setelah memutakhirkan klien Git , dan tiba-tiba repositori saya tidak dapat mendorong.
Saya menemukan bahwa beberapa remote lama memiliki nilai yang salah
url
, bahkan melalui remote aktif saya saat ini memiliki nilai yang samaurl
dan berfungsi dengan baik.Tetapi ada juga
pushurl
param, jadi menambahkannya untuk remote lama bekerja untuk saya:Sebelum:
CATATAN: Bagian ini dari "config" file tidak digunakan selama berabad-abad, tetapi klien baru mengeluh tentang URL yang salah:
Jadi saya menambahkan
pushurl
param ke remote lama:sumber
Kesalahan ini terjadi ketika Anda mengkloning repo menggunakan panggilan seperti:
Ini pada dasarnya membuat Anda sebagai pengguna pull-only, yang tidak bisa mendorong perubahan.
Saya memperbaikinya dengan membuka
.git/config
file repo saya dan mengubah baris:untuk:
Ini
ssh+git
protokol dengangit
pengguna adalah mekanisme otentikasi disukai oleh Github.Jawaban lain yang disebutkan di sini secara teknis berfungsi, tetapi semuanya tampaknya memotong ssh, mengharuskan Anda memasukkan kata sandi secara manual, yang mungkin tidak Anda inginkan.
sumber
Jika Anda pergi ke http://github.com/my_user_name/my_repo Anda akan melihat kotak teks di mana Anda dapat memilih git path ke repositori Anda. Anda akan ingin menggunakan ini!
sumber
Saya menambahkan pubkey saya ke github.com dan ini berhasil:
Tapi saya menerima kesalahan "Anda tidak bisa mendorong" setelah melakukan kesalahan ini:
Alih-alih melakukan apa yang seharusnya saya lakukan:
sumber
Untuk mengatur
https
secara global alih-alihgit://
:sumber
Cmnds di bawah ini akan memperbaiki masalah ini.
sumber
Cara tercepat untuk mengatasinya adalah dengan mengganti
origin
dengan saran yang diberikannya.Alih-alih
git push origin master
, gunakan:sumber