मुझे एक पूरी रीपो को एक नई गैर-नेटवर्क मशीन में स्थानांतरित करने की आवश्यकता है, जो एक एकल फ़ाइल इकाई के रूप में बेहतर है। गीत बंडल एक चुपके वातावरण में एक git fetch, git pullस्टाइल ऑपरेशन की अनुमति देता है , लेकिन लगता है कि आपके पास पहले से ही गंतव्य मशीन पर रेपो का एक कार्यशील संस्करण है।
सही आह्वान क्या है:
- वर्तमान रेपो में सभी शाखाओं को बंडल करें
- गंतव्य निर्देशिका पर नए रेपो को शुरू करें, यानी रूट कमिट को सही तरीके से स्थापित करें
मैंने स्पष्ट करने के लिए एक पैच अपस्ट्रीम भेजा है:
`git clone` can use any bundle created without negative refspecs
(e.g., `new`, but not `old..new`).
If you want to match `git clone --mirror`, which would clone other
refs such as `refs/remotes/*`, use `--all`.
If you want to provide the same set of refs that a clone directly
from the source repository would get, use `--branches --tags` for
the `<git-rev-list-args>`.
इसलिए $ git bundle create repo.bundle --branches --tagsक्लोनिंग से सबसे अच्छा मेल खाता है।
$ git bundle create repo.bundle --all आपके स्रोत मशीन की एक मिरर छवि प्रदान करेगा, जिसमें यह दूरस्थ रेफरी भी शामिल है।
--allविकल्प मेरे मैन पेज के लिए नहीं हैbundle(मैं संस्करण 1.7.6.msysgit.0 देख रहा हूं), और न ही इसके लिए URL अनुभाग में .bundle फ़ाइल का उपयोग किया गया हैclone। यह मुझे इसके उपयोग की सिफारिश करने के लिए अधिक आत्मविश्वास देता है।