Yanıtlar:
Depo kökünde, .git/config
dosya uzak depolar ve dallar hakkındaki tüm bilgileri tutar. Örneğinizde aşağıdaki gibi bir şey aramalısınız:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = server:gitRepo.git
Ayrıca Git komutu git remote -v
, uzak depo adını ve URL'sini gösterir. "Kaynak" uzak depo, genellikle yerel kopyanın klonlandığı orijinal depoya karşılık gelir.
git remote show origin
Sadece o uzaktan kumanda hakkında daha fazla bilgi görmek için de kullanabilirsiniz .
git remote -v
sadece okur ve yazar .git/config
.
git config --get remote.origin.url
git remote show origin
ağa sesleniyor.
Bu, muhtemelen aradığınız hızlı Bash komutu, uzak deponun yalnızca bir temel adını yazdıracaktır:
Nerede getirme dan :
basename $(git remote show -n origin | grep Fetch | cut -d: -f2-)
Alternatif itmek nereye için :
basename $(git remote show -n origin | grep Push | cut -d: -f2-)
Özellikle bu -n
seçenek, komutu çok daha hızlı hale getirir.
Bu soruyu organization/repo
github veya gitlab gibi bir git sunucusundan almaya çalışırken tökezledim .
Bu benim için çalışıyor:
git config --get remote.origin.url | sed -e 's/^git@.*:\([[:graph:]]*\).git/\1/'
Komutun sed
çıktısını git config
yalnızca organizasyon ve depo adıyla değiştirmek için kullanır .
Normal ifadedeki github/scientist
karakter sınıfı ile benzer bir şey eşleştirilebilir [[:graph:]]
.
\1
Sadece eşleşti karakterler ile her şeyi değiştirmek için sed söyler.
git config --get remote.origin.url | sed -e 's/^git@.*:\([[:graph:]]*\).git/\1/'
git remote show origin -n | ruby -ne 'puts /^\s*Fetch.*(:|\/){1}([^\/]+\/[^\/]+).git/.match($_)[2] rescue nil'
Üç farklı URL stiliyle test edildi:
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'