Saya memiliki repositori telanjang hub
. Saya hanya bekerja di master
cabang. Kalimat terakhir dari pesan kesalahan ini di bawah ini membuat saya bertanya-tanya: Bagaimana cara mencari tahu mana yang merupakan "remote konfigurasi default untuk cabang Anda saat ini" ? Dan bagaimana cara mengaturnya?
[myserver]~/progs $ git remote -v
hub ~/sitehub/progs.git/ (fetch)
hub ~/sitehub/progs.git/ (push)
[myserver]~/progs $ git branch -r
hub/master
[myserver]~/progs $ cat .git/HEAD
ref: refs/heads/master
[myserver]~/progs $ git pull hub
You asked to pull from the remote 'hub', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
git
git-push
remote-branch
leonbloy
sumber
sumber
git pull hub master
?Anda dapat melakukannya dengan lebih sederhana, menjamin bahwa Anda
.gitconfig
dibiarkan dalam keadaan yang bermakna:Menggunakan Git versi v1.8.0 dan lebih tinggi
git push -u hub master
saat mendorong, atau:git branch -u hub/master
ATAU
(Ini akan mengatur remote untuk cabang saat check-out untuk
hub/master
)git branch --set-upstream-to hub/master
ATAU
(Ini akan mengatur remote untuk cabang bernama
branch_name
untukhub/master
)git branch branch_name --set-upstream-to hub/master
Jika Anda menggunakan
v1.7.x
atau sebelumnyaAnda harus menggunakan
--set-upstream
:git branch --set-upstream master hub/master
sumber
set-upstream[-to]
perintah perubahan saat ini jauh dikonfigurasi. Poster asli bertanya tentang remote yang dikonfigurasi secara default . Tentunya itu bukan konsep yang sama?--set-upstream-to
membuat perubahan yang persis sama.git/config
seperti yang disarankan @scragz dalam jawabannya .Demi kelengkapan: jawaban sebelumnya memberi tahu cara mengatur cabang hulu, tetapi tidak cara melihatnya.
Ada beberapa cara untuk melakukan ini:
git branch -vv
menunjukkan info itu untuk semua cabang. (diformat dengan warna biru di sebagian besar terminal)cat .git/config
menunjukkan ini juga.Sebagai referensi:
sumber
perintah untuk mendapatkan remote push yang efektif untuk cabang, mis. master, adalah:
git config branch.master.pushRemote || git config remote.pushDefault || git config branch.master.remote
Inilah sebabnya (dari output "man git config"):
branch.name.remote [...] memberitahu git fetch dan git push yang mengambil remote / push ke [...] [for push] dapat diganti dengan remote.pushDefault (untuk semua cabang) [dan] untuk cabang saat ini [..] selanjutnya ditimpa oleh branch.name.pushRemote [...]
Untuk beberapa alasan, "man git push" hanya bercerita tentang branch.name.remote (walaupun memiliki paling sedikit prioritas di antara ketiganya) + secara keliru menyatakan bahwa jika tidak disetel, dorong default ke asal - tidak, hanya saja bahwa ketika Anda mengkloning repo, branch.name.remote diatur ke asal, tetapi jika Anda menghapus pengaturan ini, git push akan gagal, meskipun Anda masih memiliki remote asal
sumber