जवाबों:
git log remotename/branchname
उस रिपॉजिटरी में किसी दिए गए रिमोट ब्रांच के लॉग को प्रदर्शित करेगा, लेकिन केवल वे रिपॉजिटरी से आपकी पर्सनल "कॉपी" के लिए "रिपॉजिटरी" में आपके द्वारा "लाए गए" लॉग।
याद रखें कि रिपॉजिटरी का आपका क्लोन केवल किसी भी दूरस्थ शाखाओं की स्थिति को अपडेट करके करेगा git fetch
। आप लॉग को जांचने के लिए सर्वर से सीधे कनेक्ट नहीं कर सकते, आप जो करते हैं वह सर्वर की स्थिति को डाउनलोड करता है git fetch
और फिर स्थानीय रूप से दूरस्थ शाखाओं के लॉग को देखता है।
शायद एक और उपयोगी आदेश हो सकता है:
git log HEAD..remote/branch
जो आपको दूरस्थ शाखा में हैं, लेकिन आपकी वर्तमान शाखा में नहीं ( HEAD
) में दिखाएंगे ।
git fetch
आप का उपयोग --all
करने के लिए रिमोट से लाने की जरूरत है ।
एनबी। "मूल" एक क्लोन रिपोजिटरी के अपस्ट्रीम का प्रतिनिधित्व करने के लिए उपयोग के नीचे, रिमोट रेपो के लिए एक वर्णनात्मक नाम के साथ "मूल" को बदलें। "रिमोट रेफरेंस" क्लोन कमांड में उपयोग किए गए समान प्रारूप का उपयोग कर सकता है।
git remote add origin <remote reference>
git fetch
git log origin/master
git://git.somedomain.tld/some/repo
<refspec>
(या उपयोग करते समय fetch --all
) निर्दिष्ट करने की आवश्यकता नहीं है?
आप केवल स्थानीय रिपॉजिटरी पर लॉग को देख सकते हैं, हालांकि इसमें आपके द्वारा सेट-अप किए गए सभी रीमोक की शाखाओं को शामिल किया जा सकता है।
तो, अगर आप एक रेपो क्लोन ...
git clone git@gitserver:folder/repo.git
यह करने के लिए डिफ़ॉल्ट होगा origin/master
।
आप इस रेपो में एक रिमोट जोड़ सकते हैं, origin
आइए जोड़ के अलावा production
। स्थानीय क्लोन फ़ोल्डर के भीतर से:
git remote add production git@production-server:folder/repo.git
अगर हम कभी लॉग इन करना चाहते हैं तो हमें करना production
होगा:
git fetch --all
यह सभी रीमेक से प्राप्त होता है (बिना डिस्चार्ज किए बिना --all
लाया गया भ्रूण origin
)
लाने के बाद हम production
रिमोट पर लॉग देख सकते हैं , आपको शाखा भी निर्दिष्ट करनी होगी।
git log production/master
सभी विकल्प काम करेंगे क्योंकि वे स्थानीय शाखाओं पर लॉग के साथ करते हैं।
मुझे विश्वास नहीं होता कि यह संभव है। मेरा मानना है कि आपको उस रिमोट रेपो को स्थानीय रूप से क्लोन करना होगा और git fetch
इसके git log
खिलाफ प्रदर्शन करने से पहले उस पर प्रदर्शन करना होगा।
इसी से मेरा काम बना है:
git fetch --all
git log production/master
ध्यान दें कि यह सभी रिमोट से प्राप्त होता है, अर्थात संभावित रूप से आपको "2GB मूल्य की वस्तुओं को क्लोन करना है, बस कमिट लॉग के माध्यम से देखना है" ।
मुझे यकीन नहीं है कि जब फ़िल्टरिंग को जोड़ा गया था, लेकिन यह ऑब्जेक्ट को बाहर करने का एक तरीका है अगर आप केवल इतिहास / लॉग-इन प्राप्त करना चाहते हैं:
git clone --filter=blob:none --no-checkout --single-branch --branch master git://some.repo.git .
git log
आप दूरस्थ सर्वर का लॉग आसानी से प्राप्त कर सकते हैं। ऐसे:
(1) यदि ssh के माध्यम से git का उपयोग कर रहे हैं - तो बस अपने git लॉगिन और पासवर्ड का उपयोग करके रिमोट सर्वर पर लॉग इन करें - और उस दूरस्थ फ़ोल्डर को chdir करें जहाँ आपका रिपॉजिटरी मौजूद है- और रिमोट सर्वर पर अपने रिपॉजिटरी के अंदर "git log" कमांड चलाएँ।
(2) यदि यूनिक्स के मानक लॉगिन प्रोटोकॉल के माध्यम से गिट का उपयोग कर रहे हैं- तो बस अपने दूरस्थ सर्वर को टेलनेट करें और वहां एक लॉग लॉग करें।
उम्मीद है की यह मदद करेगा।
यहां एक बैश फ़ंक्शन है जो रिमोट पर लॉग को देखना आसान बनाता है। यह दो वैकल्पिक तर्क देता है। पहले एक शाखा है , यह मास्टर को चूकता है । दूसरा एक रिमोट है , यह स्टेजिंग के लिए डिफॉल्ट करता है ।
git_log_remote() {
branch=${1:-master}
remote=${2:-staging}
git checkout $remote/$branch
git fetch
git log
git checkout -
}
उदाहरण:
$ git_log_remote
$ git_log_remote development origin