अपडेट पर वापस जाएँ
New releaseSep 7, 2026

git-dumper v1.0.9

एक वेबसाइट से गिट रिपॉजिटरी डंप करने का उपकरण

साझा करें

git-dumper

एक उपकरण जो किसी वेबसाइट से गिट रिपॉजिटरी डंप करता है।

स्थापना

इसे pip के साथ आसानी से स्थापित किया जा सकता है:

pip install git-dumper

उपयोग

usage: git-dumper [options] URL DIR

Dump a git repository from a website.

positional arguments:
  URL                   url
  DIR                   output directory

optional arguments:
  -h, --help            show this help message and exit
  --proxy PROXY         use the specified proxy
  -j JOBS, --jobs JOBS  number of simultaneous requests
  -r RETRY, --retry RETRY
                        number of request attempts before giving up
  -t TIMEOUT, --timeout TIMEOUT
                        maximum time in seconds before giving up
  -u USER_AGENT, --user-agent USER_AGENT
                        user-agent to use for requests
  -H HEADER, --header HEADER
                        additional http headers, e.g `NAME=VALUE`
  --client-cert-p12 CLIENT_CERT_P12
                        client certificate in PKCS#12 format
  --client-cert-p12-password CLIENT_CERT_P12_PASSWORD
                        password for the client certificate
  -b BRANCH, --branch BRANCH
                        additional branch name to check for (repeatable)

उदाहरण

git-dumper http://website.com/.git ~/website

अस्वीकरण

इस सॉफ्टवेयर का उपयोग अपने जोखिम पर करें!

आपको पता होना चाहिए कि यदि आप जिस रिपॉजिटरी को डाउनलोड कर रहे हैं वह किसी हमलावर द्वारा नियंत्रित है, तो यह आपकी मशीन पर रिमोट कोड निष्पादन का कारण बन सकता है।

स्रोत से निर्माण

pip के साथ निर्भरताएं स्थापित करें:

pip install -r requirements.txt

फिर, बस उपयोग करें:

./git_dumper.py http://website.com/.git ~/website

यह कैसे काम करता है?

यह उपकरण पहले जांच करेगा कि निर्देशिका सूचीकरण उपलब्ध है या नहीं। यदि यह उपलब्ध है, तो यह केवल .git निर्देशिका को पुनरावर्ती रूप से डाउनलोड करेगा (जैसा आप wget के साथ करेंगे)।

यदि निर्देशिका सूचीकरण उपलब्ध नहीं है, तो यह अधिक से अधिक फ़ाइलें खोजने के लिए कई विधियों का उपयोग करेगा। कदम दर कदम, git-dumper यह करेगा:

  • सभी सामान्य फ़ाइलें प्राप्त करें (.gitignore, .git/HEAD, .git/index, आदि);
  • जितनी संभव हो उतनी रेफ्स खोजें (जैसे refs/heads/master, refs/remotes/origin/HEAD, आदि) .git/HEAD, .git/logs/HEAD, .git/config, .git/packed-refs आदि का विश्लेषण करके;
  • .git/packed-refs, .git/index, .git/refs/* और .git/logs/* का विश्लेषण करके जितनी संभव हो उतनी ऑब्जेक्ट्स (sha1) खोजें;
  • सभी ऑब्जेक्ट्स को पुनरावर्ती रूप से प्राप्त करें, उनके पैरेंट्स खोजने के लिए प्रत्येक कमिट का विश्लेषण करें;
  • वर्तमान कार्यशील ट्री को पुनर्प्राप्त करने के लिए git checkout . चलाएँ

श्रेणियाँ