Yanıtlar:
Komutu ile yapılandırılmış uzak URL'lerin bir listesini alabilirsiniz git remote -v.
Bu size aşağıdaki gibi bir şey verecektir:
base /home/***/htdocs/base (fetch)
base /home/***/htdocs/base (push)
origin git@bitbucket.org:*** (fetch)
origin git@bitbucket.org:*** (push)
-v"ayrıntılı" aslında daha yaygın bir seçenektir. Ayrıca tarafından desteklenir git branch. Temel fark kısa ve uzun seçeneklerin (tek ve çift çizgi, aslında) olduğunu söyledi remote. Gerçekten isterseniz, bir özellik isteği gönderin derim.
FWIW, tamamen aynı sorum vardı, ama cevabı burada bulamadım. Muhtemelen taşınabilir değil, ama en azından gitolit için, istediğimi elde etmek için aşağıdakileri çalıştırabilirim:
$ ssh git@git.xxx.com info
hello akim, this is gitolite 2.3-1 (Debian) running on git 1.7.10.4
the gitolite config gives you the following access:
R W android
R W bistro
R W checkpn
...
Şimdiye kadar verilen cevaplar size mevcut şubeleri nasıl bulacağınızı gösteriyor:
git branch -r
Veya aynı proje için depolar [aşağıdaki nota bakınız] :
git remote -v
Başka bir dava daha var. Aynı sunucuda barındırılan diğer proje havuzları hakkında bilgi edinmek isteyebilirsiniz.
Bu bilgileri keşfetmek için, ana bilgisayara oturum açmak ve diğer depoları içeren dizinleri bulmak için SSH veya PuTTY kullanıyorum ls. Örneğin, bir depoyu yazarak klonladıysam:
git clone ssh://git.mycompany.com/git/ABCProject
ve başka ne var bilmek istiyorum, SSH veya PuTTY üzerinden git.mycompany.com giriş ve yazın:
ls /git
varsayarsak ls:
ABCProject DEFProject
Komutunu kullanabilirim
git clone ssh://git.mycompany.com/git/DEFProject
diğer projeye erişim sağlamak.
NOT: Genellikle
git remotebasitçe bana söylerorigin- projeyi klonladığım depo.git remoteaynı projede çalışan ve her birinin başlangıç noktasına geçmek yerine doğrudan birbirlerinin depolarına erişen iki veya daha fazla kişiyle işbirliği yapıyorsanız kullanışlı olurdu.
Uzak dalları görmenin basit bir yolu:
git branch -r
Yerel şubeleri görmek için:
git branch -l
git ls-remoteakış yukarı sunucudan getirilebilecek tüm uzaktan kumandaları göstermelidir ( git-scm.com/docs/git-ls-remote ). Bu sayfadaki tüm yanıtların size yalnızca önceden getirdiğiniz uzaktan kumandaları ve izleme dallarını nasıl listeleyeceğinizi, yani bir Catch-22 olduğunu söyleyeceğine inanıyorum. Akış yukarı sunucuda nasıl başvuracağını bilinceye kadar uzaktan kumandayı getiremezsiniz.
Bu yöntemlerin hiçbiri, sorgulayıcının istediği şekilde işe yaramıyor. Örneğin:
$ git remote
fatal: Not a git repository (or any of the parent directories): .git
$ git remote user@bserver
fatal: Not a git repository (or any of the parent directories): .git
$ git remote user@server:/home/user
fatal: Not a git repository (or any of the parent directories): .git
$ git ls-remote
fatal: No remote configured to list refs from.
$ git ls-remote user@server:/home/user
fatal: '/home/user' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Bunu yapmanın asıl amacı uzak kullanıcı ve sunucu dışında herhangi bir bilginizin olmaması ve neye erişebildiğinizi öğrenmek istemenizdir.
Cevapların çoğu git git çalışma kümesinden sorguladığınızı varsayar. Soru soran olmadığınızı varsayıyor.
Pratik bir örnek olarak, sunucuda bir foo.git deposu olduğunu varsayın. Bilgeliklerinde birisi onu foo2.git olarak değiştirmeleri gerektiğine karar verir. Sunucuda bir git dizininin bir listesini yapmak gerçekten iyi olurdu. Ve evet, git için problemleri görüyorum. Yine de olması güzel olurdu.
git remote -vçünkü -v ayrıntılı içindir.git remotebasit bir uzaktan kumanda listesi verir (taban, bu durumda köken). -V seçeneği, her uzaktan kumandanın getirme ve itme işlemleri için URL'yi içerir.