Git रिपॉजिटरी के लिए रीमोट की सूची?


542

मेरे पास Git रिपॉजिटरी है। इस रिपॉजिटरी में कई रिमोट रिपॉजिटरी हैं (मुझे लगता है)। मैं दूरस्थ रिपॉजिटरी की सूची कैसे प्राप्त कर सकता हूं जो कि कहा गया रिपॉजिटरी से संबंधित है?

जैसा git list --remotesया वैसा कुछ?

जवाबों:


750

आप कमांड के साथ किसी भी कॉन्फ़िगर किए गए दूरस्थ URL की सूची प्राप्त कर सकते हैं git remote -v

यह आपको निम्नलिखित की तरह कुछ देगा:

base    /home/***/htdocs/base (fetch)
base    /home/***/htdocs/base (push)
origin  git@bitbucket.org:*** (fetch)
origin  git@bitbucket.org:*** (push)

18
git remote -vक्योंकि -v क्रिया के लिए है। git remoteरीमोट की एक सरल सूची देता है (आधार, इस मामले में उत्पत्ति)। -V विकल्प में प्रत्येक दूरस्थ के लाने और धक्का संचालन दोनों के लिए url शामिल है।
dhj

2
मुझे @AlexMills से सहमत होना होगा, अगर यह git ब्रांच --लिस्ट है, तो इसे git रिमोट
--लिस्ट

1
-v"क्रिया" के लिए वास्तव में अधिक सामान्य विकल्प है। इसका समर्थन भी किया जाता है git branch। मूल अंतर छोटा बनाम लंबे विकल्प (एकल बनाम डबल डैश, अनिवार्य रूप से) है, जिसमें कहा गया है कि, सबकोमांड के साथ समर्थन remoteकरने से समझ में आएगा। यदि आप वास्तव में यह चाहते हैं, तो मैं कहूंगा कि एक सुविधा अनुरोध सबमिट करें।
रान्डेल

4
इसके लिए पहले से ही एक क्लोन की आवश्यकता होती है। जब यह पता लगाने की कोशिश की जाए कि किस क्लोन के साथ शुरुआत करनी है, कुछ और चाहिए ...
मिखाइल टी।

60

यदि आपको केवल दूरस्थ रिपॉजिटरी (और किसी अन्य डेटा का नहीं) के नामों की आवश्यकता है, तो एक सरल git remoteपर्याप्त है।

$ git remote
iqandreas
octopress
origin

32

एफडब्ल्यूआईडब्ल्यू, मेरे पास बिल्कुल वही सवाल था, लेकिन मुझे इसका जवाब नहीं मिला। यह शायद पोर्टेबल नहीं है, लेकिन कम से कम गिटोलिट के लिए, मैं जो चाहता हूं उसे प्राप्त करने के लिए निम्नलिखित चला सकता हूं:

$ 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
...

24

अब तक के उत्तर आपको बताते हैं कि मौजूदा शाखाओं को कैसे खोजना है:

git branch -r

या एक ही परियोजना के लिए रिपॉजिटरी [नीचे नोट देखें] :

git remote -v

एक और मामला है। आप एक ही सर्वर पर होस्ट किए गए अन्य प्रोजेक्ट रिपॉजिटरी के बारे में जानना चाह सकते हैं।

उस जानकारी को खोजने के लिए, मैं मेजबान में लॉग इन करने के लिए और अन्य रिपॉजिटरी वाली निर्देशिकाओं को खोजने के लिए SSH या PuTTY का उपयोग करता हूं ls। उदाहरण के लिए, यदि मैंने टाइप करके एक रिपॉजिटरी को क्लोन किया है:

git clone ssh://git.mycompany.com/git/ABCProject

और जानना चाहते हैं कि और क्या उपलब्ध है, मैं git.mycompany.com पर SSH या PuTTY के माध्यम से लॉग इन करता हूं और टाइप करता हूं:

ls /git

यह lsकहते हुए :

 ABCProject DEFProject

मैं कमांड का उपयोग कर सकता हूं

 git clone ssh://git.mycompany.com/git/DEFProject

अन्य परियोजना तक पहुंच प्राप्त करने के लिए।

नोट: आमतौर पर git remoteमुझे बस के बारे में बताता है origin- भंडार जिसमें से मैंने परियोजना को क्लोन किया था। git remoteयदि आप एक ही प्रोजेक्ट पर काम कर रहे दो या दो से अधिक लोगों के साथ सहयोग कर रहे थे और एक-दूसरे की रिपॉजिटरी तक पहुंच बना रहे थे, तो यह संभव नहीं था।


2
यह एक बेहतर जवाब है क्योंकि यह शाखाओं के बजाय रिपॉजिटरी के बारे में बात करता है और बताता है कि रिपॉजिटरी को कैसे सूचीबद्ध किया जाए जो वर्तमान में चेक किए गए रिपॉजिटरी में नहीं हैं
एडवर्ड रॉस

16

दूरस्थ शाखाओं को देखने का एक सरल तरीका है:

git branch -r

स्थानीय शाखाओं को देखने के लिए:

git branch -l

15
यह दूरस्थ शाखाओं के लिए है; उपयोगकर्ता ने दूरस्थ रिपॉजिट के लिए कहा ।
ओवेन ब्लैकर

4
git ls-remoteआपको अपस्ट्रीम सर्वर ( git-scm.com/docs/git-ls-remate ) से लाने के लिए उपलब्ध सभी रीमोट्स दिखाने चाहिए । मेरा मानना ​​है कि इस पृष्ठ के सभी उत्तर केवल आपको बताते हैं कि उन रीमोट और ट्रैकिंग शाखाओं को कैसे सूचीबद्ध किया जाए जिन्हें आपने पहले ही प्राप्त कर लिया है, जो कि कैच -22 है। आप तब तक रिमोट नहीं ला सकते, जब तक आप यह नहीं जानते कि इसे अपस्ट्रीम सर्वर पर कैसे भेजा जाए।
Reb.Cabin

0

उन तरीकों में से कोई भी उस तरीके से काम नहीं करता है जिस तरह से प्रश्नकर्ता पूछ रहा है और जिसकी मुझे अक्सर आवश्यकता थी। उदाहरण के लिए:

$ 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.

ऐसा करने का पूरा बिंदु यह है कि आपके पास दूरस्थ उपयोगकर्ता और सर्वर को छोड़कर कोई जानकारी नहीं है और यह पता लगाना चाहते हैं कि आपके पास क्या पहुंच है।

अधिकांश उत्तर मान लेते हैं कि आप एक काम कर रहे सेट के भीतर से क्वेरी कर रहे हैं। प्रश्नकर्ता मान रहा है कि आप नहीं हैं।

एक व्यावहारिक उदाहरण के रूप में, मान लें कि सर्वर पर एक रिपॉजिटरी foo.git था। उनकी बुद्धि में कोई यह तय करता है कि उन्हें इसे foo2.git में बदलने की आवश्यकता है। सर्वर पर गिट डायरेक्टरी की सूची बनाना वास्तव में अच्छा होगा। और हाँ, मैं समस्याओं के लिए देख रहा हूँ। हालांकि यह अभी भी अच्छा होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.