Pertanyaan Cari tahu nama dari repositori asli yang Anda kloning dari dalam Git


Ketika Anda melakukan klon pertama Anda menggunakan sintaks

git clone username@server:gitRepo.git

Apakah mungkin menggunakan repositori lokal Anda untuk menemukan nama klon awal? (jadi dalam contoh di atas temukan gitRepo.git)


75
2017-11-02 09:12


asal


Jawaban:


Di akar repositori, file .git / config menampung semua informasi tentang remote repositori dan cabang. Dalam contoh Anda, Anda harus mencari sesuatu seperti:

[remote "origin"]  
    fetch = +refs/heads/*:refs/remotes/origin/*  
    url = server:gitRepo.git  

Juga, perintah git: git remote -v menunjukkan nama dan uraian repositori jauh. "asal" repositori terpencil biasanya sesuai dengan repositori asli, dari mana salinan lokal dikloning.


71
2017-11-02 09:25



git config --get remote.origin.url

49
2018-06-24 02:16



ini adalah perintah bash cepat yang mungkin Anda cari
hanya akan mencetak nama dasar dari repositori jarak jauh

di mana kamu mengambil dari:
basename $(git remote show -n origin | grep Fetch | cut -d: -f2-)

atau tempat Anda mendorong untuk:
basename $(git remote show -n origin | grep Push | cut -d: -f2-)

terutama -n pilihan membuat perintah lebih cepat


26
2018-02-27 17:12



Saya menggunakan ini:

basename $(git remote get-url origin) .git

yang mengembalikan sesuatu seperti gitRepo. (Hapus .git pada akhir perintah untuk mengembalikan sesuatu seperti gitRepo.git.)

(Catatan: Membutuhkan git> = 2.7.0)


2
2017-09-05 16:48



git remote show origin -n | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil'

diuji dengan 3 gaya url:

echo "Fetch URL: http://user@pass:gitservice.org:20080/owner/repo.git" | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil'
echo "Fetch URL: Fetch URL: git@github.com:home1-oss/oss-build.git" | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil'
echo "Fetch URL: https://github.com/owner/repo.git" | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil'

0
2018-06-21 08:37