
एक सूचना संग्रह उपकरण जो संस्करण नियंत्रण होस्ट सेवाओं में गिट कमिट ईमेल एकत्र करता है।

यह Gitmails संस्करण अब बनाए नहीं रखा गया है। यदि आप एक ऐसे संस्करण का उपयोग करना चाहते हैं जो बनाए रखा जाता है और उम्मीद है कि विकसित हो रहा है, तो Gitmails Shell पोर्ट देखें।
यदि आप शेल पोर्ट का उपयोग नहीं करना चाहते और Python संस्करण पसंद करते हैं, तो Gitmails को fork करने और अपने अनुसार निर्देशित करने के लिए स्वतंत्र महसूस करें।
Gitmails यह पता लगाता है कि git commits में लेखक द्वारा कॉन्फ़िगर किया गया एक नाम और एक ईमेल होता है, और संस्करण नियंत्रण होस्ट सेवाओं का उपयोग बहुत सारी परियोजनाओं को संग्रहीत करने के लिए किया जा रहा है।
Gitmails जो करता है वह है:
इन चरणों के साथ, Gitmails किसी विशिष्ट लक्ष्य के लिए कमिट इतिहास में मिले सभी ईमेल एकत्र कर सकता है।
पहले, आपको ऑपरेशन विधि चुननी होगी: संगठन, उपयोगकर्ता या एकल रिपॉजिटरी के ईमेल एकत्र करना। यह विकल्पों द्वारा किया जा सकता है: -u --username, -o --organization या -r --repository।
ऑपरेशन विधि निर्दिष्ट करने के बाद, आपको लक्ष्य सेट करना होगा। आपको इसे ऑपरेशन विधि के ठीक बाद पास करना चाहिए:
python3 gitmails.py -u some_username, python3 gitmails.py -o some_org या python3 gitmails.py -r some_repo_url।
नोट: gitlab उपयोगकर्ता नाम केस-सेंसिटिव हैं, वहाँ ईमेल एकत्र करने का प्रयास करते समय इसे ध्यान में रखें।
इस मूल कॉन्फ़िगरेशन के साथ, Gitmails निर्दिष्ट लक्ष्य के लिए सभी रिपॉजिटरी को क्लोन करेगा (या url में रिपॉजिटरी को क्लोन करेगा) और इसके कमिट इतिहास का विश्लेषण करेगा। फिर, यह उपयोगकर्ता या संगठन की उच्च-स्तरीय जानकारी प्रिंट करेगा और अंत में, एक "fancy_grid" तालिका (tabulate से) में, विश्लेषण के दौरान मिले सभी Name-Email जोड़ियों को प्रिंट करेगा।
उपयोगी विकल्प:
--raw: परिणामों को शुद्ध पाठ में प्रिंट करेगा, कोई ग्रिड नहीं, केवल अल्पविराम से अलग किए गए मान;-f | --file: परिणाम को निर्दिष्ट फ़ाइल में संग्रहीत करेगा। परिणाम बिना हेडर प्रारूप के csv में होंगे।--include-repositories: Gitmails को परिणाम को इस जानकारी के साथ प्रिंट करने देगा कि ईमेल किस रिपॉजिटरी में मिला था।-p | --path: रिपॉजिटरी को क्लोन करने के लिए अस्थायी पथ निर्दिष्ट करें।-e | --exclude: निर्दिष्ट रिपॉजिटरी को अनदेखा करें। रिपॉजिटरी नाम की तुलना करेगा, यदि मेल खाता है, तो रिपॉजिटरी को अनदेखा करेगा और अगले पर जाएगा।--no-cleanup: क्लोन की गई रिपॉजिटरी को नहीं हटाएगा।--include-forks: विश्लेषण में फोर्क की गई रिपॉजिटरी को शामिल करेगा (केवल github के लिए)।--include-users: यदि कोई संगठन एकत्र कर रहे हैं, तो इसके सार्वजनिक सदस्यों के बारे में जानकारी एकत्र करेगा (केवल github के लिए)।--no-[gitlab|github|bitbucket]: निर्दिष्ट होस्ट सेवा की जानकारी एकत्र नहीं करेगा।--run-plugins: एकत्रित परिणाम में प्लगइन्स निष्पादित करेगा।Gitmails को स्थापित करने के लिए, आपको निम्नलिखित चरणों का पालन करना होगा:
pip3 install -r requirements.txtयदि आप Debian (शायद Ubuntu भी) का उपयोग कर रहे हैं, तो libgit2 पैकेज Gitmails के साथ काम नहीं करता है। इसे हल करने के लिए, आपको libgit2 को मैन्युअल रूप से संकलित करने की आवश्यकता होगी। निम्नलिखित चरण पर्याप्त होने चाहिए:
wget https://github.com/libgit2/libgit2/archive/v0.27.0.tar.gz && \
tar xzf v0.27.0.tar.gz && \
cd libgit2-0.27.0/ && \
cmake . && \
make && \
sudo make install
ldconfig
pip3 install pygit2
या debian install स्क्रिप्ट निष्पादित करें।
आप निम्नलिखित कमांड जारी करके टूल के डॉकर संस्करण का भी उपयोग कर सकते हैं:
docker run -it giovanifss/gitmails --helpध्यान दें कि यदि आप किसी फ़ाइल में लिखना चाहते हैं, तो आपको एक डॉकर वॉल्यूम माउंट करना होगा:
docker run -v /tmp/output:/opt -it giovanifss/gitmails -f /opt/result.txtयह परियोजना अब बनाए नहीं रखी जाती है। यदि आप योगदान देना चाहते हैं, तो Gitmails Shell देखें।
यह टूल ऐसा डेटा एकत्र करता है जो कानूनी आक्रामक सुरक्षा कार्यों के लिए उपयोगी हो सकता है। इस परियोजना के लेखक इस टूल के दुरुपयोग या दुर्भावनापूर्ण उपयोग के कारण होने वाली किसी भी क्षति या हानि के लिए किसी भी और सभी जिम्मेदारी का त्याग करते हैं। अधिक विवरण के लिए LICENSE देखें।
--api