दिलचस्प पोस्ट
क्या कोई Visual Basic 6 decompiler है? UITextView के अंदर UIScrollView AutoLayout के साथ अजगर सुंदर सूप तालिका पार्सिंग अधिकतम अधिकतम मेल: शरीर की लंबाई क्या मैं .NET / C # से अन्य प्रक्रियाओं के कमांड लाइन तर्क प्राप्त कर सकता हूं? एचडीएफ 5 प्रारूप में कैफ़ मल्टी लेबल डेटा कैसे खिलाएगा? समानता / अंतर के लिए दो रंगों की तुलना कैसे करें धागा में थ्रेड स्टार्ट विधि के लिए पैरामीटर कैसे पारित करें? मैं एक विशिष्ट स्थान का प्रयोग करके जावा में एक स्ट्रिंग को कैसे दोहराता हूं? php: जांचें कि एक सरणी में डुप्लिकेट हैं या नहीं हरूोकू – Django ऐप में स्थिर फ़ाइलें हैंडलिंग कुकी-मैनेजर का उपयोग करते हुए httpUrlConnection में कुकीज़ कैसे प्रबंधित करें प्रत्येक ऑब्जेक्ट के लिए एक जेनेरिक रिपॉजिटरी बनाम विशिष्ट रिपॉजिटरी बनाने का लाभ? एंड्रॉइड धागा को रोकने के लिए सबसे अच्छा और सुरक्षित तरीका लचीले बॉक्स मॉडल – प्रदर्शन: फ्लेक्स, बॉक्स, फ्लेक्सबॉक्स?

गिट और ड्रॉपबॉक्स का प्रयोग एक साथ प्रभावी रूप से?

मैं गीट और ड्रॉपबॉक्स का प्रभावी ढंग से उपयोग कैसे करूं?

वेब के समाधान से एकत्रित समाधान "गिट और ड्रॉपबॉक्स का प्रयोग एक साथ प्रभावी रूप से?"

मुझे लगता है कि ड्रॉपबॉक्स पर Git महान है मैं इसे सभी समय का उपयोग करता हूं मेरे पास कई कंप्यूटर हैं (दो घर पर और एक काम पर) जो मैं ड्रॉपबॉक्स को एक केंद्रीय नंगे भंडार के रूप में उपयोग करता हूं। चूंकि मैं इसे किसी सार्वजनिक सेवा पर होस्ट नहीं करना चाहता हूं, और मेरे पास ऐसे सर्वर तक पहुंच नहीं है जो मैं हमेशा एस.एस.एस. कर सकता हूं, ड्रॉपबॉक्स पृष्ठभूमि में सिंक्रनाइज़ कर रहा है (बहुत तेज़ी से)

सेटअप कुछ ऐसा है:

~/project $ git init ~/project $ git add . ~/project $ git commit -m "first commit" ~/project $ cd ~/Dropbox/git ~/Dropbox/git $ git init --bare project.git ~/Dropbox/git $ cd ~/project ~/project $ git remote add origin ~/Dropbox/git/project.git ~/project $ git push -u origin master 

वहां से, आप केवल ~/Dropbox/git/project.git क्लोन कर सकते हैं कि आपने अपने ड्रॉपबॉक्स खाते से संबद्ध है (या इस निर्देशिका को लोगों के साथ साझा किया है), आप सभी सामान्य जीआईटी ऑपरेशन कर सकते हैं और वे आपके सभी अन्य मशीनें स्वचालित रूप से

मैंने अपने तर्क पर एक ब्लॉग पोस्ट, ऑन वर्जन कंट्रोल , ( पुराने लिंक मरे ) लिखा था और मैंने अपना पर्यावरण कैसे स्थापित किया, यह रेलवे के विकास के अनुभव पर रूबी पर आधारित है, लेकिन यह कुछ भी करने के लिए लागू किया जा सकता है, वास्तव में

यह जवाब Mercurial अनुभव पर आधारित है, नहीं Git, लेकिन इस अनुभव ड्रॉपबॉक्स का उपयोग कर कहते हैं कि इस तरह से भ्रष्ट खजाने के लिए पूछ रहा है अगर वहाँ भी एक मौका है कि आप विभिन्न मशीनों से अलग मशीनों से एक ही ड्रॉपबॉक्स-आधारित भंडार अद्यतन करना होगा (मैक, यूनिक्स, विंडोज मेरे मामले में)

मेरे पास ऐसी चीजों की पूरी सूची नहीं है जो गलत हो सकती हैं, लेकिन यहां एक विशिष्ट उदाहरण है जो मुझे थोड़ा सा प्रत्येक मशीन की लाइन-एंडिंग वर्णों की अपनी धारणा होती है और फ़ाइल नामों में ऊपरी / निचला केस वर्णों को संभाला जाता है। ड्रॉपबॉक्स और गीट / मर्सूरियल इस थोड़ा अलग ढंग से संभाल (मुझे सटीक अंतर याद नहीं है)। अगर ड्रॉपबॉक्स Git / Mercurial की पीठ के पीछे रिपॉजिटरी को अपडेट करता है, तो तेज, टूटी हुई रिपॉजिटरी। यह तुरंत और अदृश्य रूप से होता है, इसलिए आप यह भी नहीं जानते हैं कि जब तक आप इसे से कुछ हासिल करने की कोशिश नहीं करते तब तक आपकी रिपॉजिटरी टूट जाती है।

इस तरह से एक गड़बड़ से बाहर खुदाई करने के बाद, मैं निम्नलिखित नुस्खे का उपयोग महान सफलता और समस्याओं का कोई संकेत नहीं कर रहा हूं। बस अपने रिपोजिटरी को ड्रॉपबॉक्स के बाहर ले जाएं बाकी सब के लिए ड्रॉपबॉक्स का उपयोग करें; प्रलेखन, JAR फ़ाइलें , कुछ भी आप कृपया। और स्वयं रिपॉजिटरी का प्रबंधन करने के लिए गिटहब (गिट) या बिटबकेट (मर्क्यूरिअल) का उपयोग करें दोनों स्वतंत्र हैं इसलिए यह लागतों में कुछ भी नहीं जोड़ता है, और प्रत्येक उपकरण अब अपनी ताकत के लिए खेलता है

ड्रॉपबॉक्स के शीर्ष पर चलने वाला जीआईटी / चंचल जोखिम को छोड़कर कुछ नहीं जोड़ता है ऐसा मत करो

ऐसा करने का सही तरीका git-remote-dropbox का उपयोग करें : https://github.com/anishathalye/git-remote-dropbox

ड्रॉपबॉक्स में अपना स्वयं का रेपो तैयार करना बहुत सी समस्याएं पैदा करता है अनीश (पुस्तकालय का निर्माता) इसे सबसे अच्छा बताता है :

इन समस्याओं का मूल कारण है कि ड्रॉपबॉक्स डेस्कटॉप क्लाइंट को सिंक्रनाइज़ करने के लिए डिज़ाइन किया गया है, गिट रिपॉजिटरी नहीं। Git repositories के लिए विशेष हैंडलिंग के बिना, यह गिट के रूप में समान गारंटी नहीं रखता है। दूरस्थ भंडार पर संचालन अब अणु नहीं रहेगा, और तुल्यकालन के साथ समवर्ती संचालन या अशुभ समय के परिणामस्वरूप भ्रष्ट भंडार हो सकता है।

इस काम को ठीक से बनाने के लिए पारंपरिक गिट रीमोट्स सर्वर कोड पर रन कोड चलाते हैं, लेकिन हम ऐसा नहीं कर सकते।

समाधान: यह ठीक से हल करना संभव है। ड्रॉपबॉक्स के साथ गिट का उपयोग करना संभव है और एक समान सुरक्षा और स्थिरता की एक पारंपरिक गीट रिमोट के रूप में गारंटी होती है, भले ही कई उपयोगकर्ता और समवर्ती संचालन होते हों!

एक उपयोगकर्ता के लिए, यह गिट-रिमोट-ड्रॉपबॉक्स, जीआईटी रिमोट सहायक का प्रयोग करने में आसान है, जो कि गीट और ड्रॉपबॉक्स के बीच एक पारदर्शी द्विदिश पुल के रूप में कार्य करता है और एक परंपरागत गिट रिमोट की सभी गारंटियां रखता है। साझा फ़ोल्डरों के साथ उपयोग करना भी सुरक्षित है, इसलिए यह सहयोग के लिए उपयोग किया जा सकता है (असीमित सहयोगियों के साथ याय असीमित निजी रेपो!)।

दूरदराज के सहायक के साथ, ड्रॉपबॉक्स को गिट रिमोट के रूप में इस्तेमाल करना और जीआईटी क्लोन, जीआईटी पुल और जीआईटी धक्का जैसे सभी नियमित गिट आदेशों का उपयोग करना जारी रखना और सभी अपेक्षाकृत के रूप में काम करेंगे

मुझे नहीं लगता कि गिट और ड्रॉपबॉक्स का उपयोग करने का तरीका है … बस दोनों की सुविधाओं के बारे में सोचो:

Git:

  • आपको केंद्रीय भंडार के लिए अनुमति देता है
  • आपको अपने स्वयं के परिवर्तनों के साथ अपना स्वयं का भंडार रखने की अनुमति देता है
  • आपको केंद्रीय भंडार से परिवर्तन भेजने और प्राप्त करने की अनुमति देता है
  • एकाधिक व्यक्तियों को समान फ़ाइलों को बदलने की अनुमति देता है और वे उन्हें मर्ज कर देते हैं या यदि वे ऐसा नहीं कर सकते हैं, तो उन्हें मर्ज करने के लिए कहता है
  • केंद्रीय भंडार तक पहुंच की अनुमति देने के लिए वेब और डेस्कटॉप क्लाइंट हैं

ड्रॉपबॉक्स:

  • एक केंद्रीय भंडार में सब कुछ रखता है
  • आपको सर्वर में फाइलों के अपने स्वयं संस्करणों की अनुमति देता है
  • केंद्रीय भंडार से परिवर्तन भेजने और प्राप्त करने के लिए मजबूर करता है
  • यदि एकाधिक व्यक्ति एक ही फाइल बदलते हैं, तो पहली फ़ाइल प्रतिबद्ध है जिसे बाद में कमिट के साथ बदल दिया जाता है, और कोई मर्ज नहीं होता है जो परेशानी होती है (और निश्चित रूप से इसकी सबसे बड़ी हानि)
  • केंद्रीय भंडार तक पहुंच की अनुमति देने के लिए वेब और डेस्कटॉप क्लाइंट हैं

और अगर आप अपनी कुछ फ़ाइलों को साझा करने से चिंतित हैं, तो उन्हें सिफर क्यों न करें? और फिर आप ड्रॉपबॉक्स को गिट का सबसे बड़ा लाभ प्राप्त कर सकते हैं, अर्थात, सार्वजनिक और निजी फाइलें …

मैं अपने सभी परियोजनाओं को एक गीट भंडार के तहत नहीं रखना चाहता था, न ही मैं हर एक परियोजना के लिए इस कोड को चलाने और चलाने के लिए चाहता था, इसलिए मैंने एक बैश स्क्रिप्ट बनाई जो प्रक्रिया को स्वचालित करेगा। आप इसे एक या कई निर्देशिकाओं पर उपयोग कर सकते हैं – इसलिए यह आपके लिए इस पोस्ट में कोड कर सकता है या एक बार में कई परियोजनाओं पर ऐसा कर सकता है।

 #!/bin/sh # Script by Eli Delventhal # Creates Git projects for file folders by making the origin Dropbox. You will need to install Dropbox for this to work. # Not enough parameters, show help. if [ $# -lt 1 ] ; then cat<<HELP projects_to_git.sh -- Takes a project folder and creates a Git repository for it on Dropbox USAGE: ./projects_to_git.sh file1 file2 .. EXAMPLES: ./projects_to_git.sh path/to/MyProjectDir Creates a git project called MyProjectDir on Dropbox ./projects_to_git.sh path/to/workspace/* Creates a git project on Dropbox for every folder contained within the workspace directory, where the project name matches the folder name HELP exit 0 fi # We have enough parameters, so let's actually do this thing. START_DIR=$(pwd) # Make sure we have a connection to Dropbox cd ~ if [ -s 'Dropbox' ] ; then echo "Found Dropbox directory." cd Dropbox if [ -s 'git' ] ; then echo " Dropbox Git directory found." else echo " Dropbox Git directory created." mkdir git fi else echo "You do not have a Dropbox folder at ~/Dropbox! Install Dropbox. Aborting..." exit 0 fi # Process all directories matching the passed parameters. echo "Starting processing for all files..." for PROJ in $* do if [ -d $PROJ ] ; then PROJNAME=$(basename $PROJ) echo " Processing $PROJNAME..." # Enable Git with this project. cd $PROJ if [ -s '.git' ] ; then echo " $PROJNAME is already a Git repository, ignoring..." else echo " Initializing Git for $PROJNAME..." git init -q git add . git commit -m "Initial creation of project." -q # Make the origin Dropbox. cd ~/Dropbox/git if [ -s $PROJNAME ] ; then echo " Warning! $PROJNAME already exists in Git! Ignoring..." else echo " Putting $PROJNAME project on Dropbox..." mkdir $PROJNAME cd $PROJNAME git init -q --bare fi # Link the project to the origin echo " Copying local $PROJNAME to Dropbox..." cd $PROJ git remote add origin "~/Dropbox/git/$PROJNAME" git push -q origin master git branch --set-upstream master origin/master fi fi done echo "Done processing all files." cd $START_DIR 

ड्रॉपबॉक्स का उपयोग करते हुए छोटी टीमों के संबंध में:

अगर प्रत्येक डेवलपर के पास ड्रॉबॉक्स पर अपनी लिखे जाने वाली बेक रिपॉजिटरी है, जो केवल अन्य डेवलपर्स के लिए ही खींचती है, तो यह कोड साझाकरण को भ्रष्टाचार के जोखिम के साथ साझा करने की सुविधा प्रदान करता है!

फिर अगर आप एक केंद्रीकृत 'मेनलाइन' चाहते हैं, तो आप एक डेवलपर को अपने सभी रेपो से सभी धक्का दे सकते हैं।

यह अब 2015 है, और तीन दिन पहले, ड्रॉपबॉक्स एपीआई v2 पर आधारित एक नया टूल ड्रापबॉक्स पर सुरक्षित रूप से जीआईटी का उपयोग करने के लिए बनाया गया है। यह डेस्कटॉप क्लाइंट का उपयोग करने के बजाय एपीआई के खिलाफ काम करता है, और साझा किए गए फ़ोल्डर में होस्ट की गई एक रिपॉजिटरी के लिए एक से अधिक युग्मक धक्का देता है।

एक बार विन्यस्त होने पर, यह एक जीआईटी रिमोट की तरह एक जीआईटी रिमोट स्थापित करने की अनुमति देता है।

 git clone "dropbox::/path/to/repo" git remote add origin "dropbox::/path/to/repo" 

मैं अनुशंसित तरीके से मर्कूरियल का उपयोग कर रहा हूं और आग्रह करता हूं कि आप सावधान रहें, खासकर यदि मशीनों में से कोई भी भिन्न हो। ड्रॉपबॉक्स फोरा रहस्यमय फ़ाइल नाम केस की समस्याओं की शिकायतों से भरा हुआ है जो सहजता से बदलते हैं। एचजी (और मैं गिट का अनुमान लगाता है) नियमित चेकइन के दौरान नोटिस या शिकायत नहीं करेगा और जब आप भ्रष्ट रीपो की शिकायत करते हैं तो आप केवल भ्रष्टाचार के बारे में सुनेंगे, जब आप इसे वास्तविक के लिए उपयोग करने का प्रयास करेंगे बुरी खबर। काश मैं समस्या और इसके समाधान के बारे में अधिक विशिष्ट हो सकता है; मैं अब भी इस गंदगी से खुद को खोदने की कोशिश कर रहा हूं।

मुझे दान मैकनेविन द्वारा जवाब पसंद है! मैं अब भी एक साथ गिट और ड्रॉपबॉक्स का उपयोग कर रहा हूं, और मैं अपने .bash_profile में कई उपनामों का उपयोग कर रहा हूं ताकि मेरा कार्यप्रवाह इस तरह दिखता है:

 ~/project $ git init ~/project $ git add . ~/project $ gcam "first commit" ~/project $ git-dropbox 

ये मेरी उपनाम हैं:

 alias gcam='git commit -a -m' alias gpom='git push origin master' alias gra='git remote add origin' alias git-dropbox='TMPGP=~/Dropbox/git/$(pwd | awk -F/ '\''{print $NF}'\'').git;mkdir -p $TMPGP && (cd $TMPGP; git init --bare) && gra $TMPGP && gpom' 

मैं एन्क्रिप्टेड रिमोट बैकअप के लिए मर्क्यूरिअल (या गिट) + ट्रूक्रिप्ट + ड्रॉपबॉक्स का उपयोग करता हूं

सबसे अच्छी बात यह है कि ड्रॉपबॉक्स पूरे TrueCrypt कंटेनर को सिंक नहीं करता है यदि आप अपने कोड का एक छोटा सा हिस्सा संशोधित करते हैं। समन्वयन समय मोटे तौर पर परिवर्तन की मात्रा के लिए आनुपातिक है। हालांकि यह एन्क्रिप्ट किया गया है, TrueCrypt + Dropbox का संयोजन ब्लॉक सिफर + ब्लॉक स्तर सिंक का उत्कृष्ट उपयोग करता है

दूसरे, एक अखंड एन्क्रिप्टेड कंटेनर न सिर्फ सुरक्षा जोड़ता है, इससे रिपॉजिटरी भ्रष्टाचार की संभावना भी कम हो जाती है।

सावधानी: हालांकि आपको ड्रापबॉक्स चलने के दौरान कंटेनर की माउंट नहीं होने के बारे में बहुत सावधान रहना होगा। यदि 2 अलग-अलग क्लाइंट कंटेनर को अलग-अलग संस्करणों में चेक-इन करते हैं, तो विवादों का समाधान करने के लिए यह एक दर्द भी हो सकता है इसलिए, यह केवल एक व्यक्ति के लिए व्यावहारिक है, जिसका इस्तेमाल बैकअप के लिए किया जाता है, न कि टीम के लिए।

सेट अप:

  • एक Truecrypt कंटेनर बनाएं (एकाधिक गीगाबाइट ठीक है)
  • ट्रूक्रिप्ट वरीयताओं के तहत, preserve modification timestamp * को preserve modification timestamp
  • दान द्वारा ऊपर उल्लेखित एक रेपो बनाएं ( https://stackoverflow.com/a/1961515/781695 )

उपयोग:

  • ड्रॉपबॉक्स छोड़ें
  • कंटेनर माउंट करें, अपने बदलावों को दबाएं, अनमाउंट करें
  • ड्रॉपबॉक्स चलाएं

पुनश्च preserve modification timestamp करने के लिए PS preserve modification timestamp ड्रॉपबॉक्स को बताता है कि फ़ाइल को संशोधित किया गया है और उसे सिंक्रनाइज़ किया जाना चाहिए। ध्यान दें कि कंटेनर को बढ़ाना टाइमस्टैम्प को संशोधित करता है, भले ही आप उसमें कोई भी फाइल न बदलें। यदि आप ऐसा नहीं करना चाहते हैं, तो केवल मात्रा के रूप में read-only लिए माउंट करें

हम एक शेयर फ़ोल्डर पर इस विधि (ड्रॉपबॉक्स में एक नंगे रेजोज़िज़ाइल बनाते हैं) का उपयोग करते हैं।

डेवलपर्स का एक छोटा समूह उस नंगे सिंक्रनाइज़ रिपॉजिटरी से खींच सकता है और एक स्थानीय क्लोन बना सकता है। एक बार काम की इकाई पूरी हो गई है, हम वापस मूल को धक्का देते हैं।

एक बात जो मुझे याद आ रही है, एक ही समय में धमाकेदार होने के बाद परिवर्तन-निर्धारित जानकारी के साथ ई-मेल भेजा गया है। हम परिवर्तनों का मैन्युअल रूप से ट्रैक करने के लिए Google Wave का उपयोग कर रहे हैं

यहां एक ओपन सोर्स प्रोजेक्ट (क्रॉस प्लेटफॉर्म [लिनक्स, मैक, विन] लिपियों का एक संग्रह) है जो कि कमांड के मुताबिक (3-4) के साथ रिपॉजिटरी प्रबंधन के सभी नाइट-राइटली ब्योरे करता है

https://github.com/karalabe/gitbox/wiki

नमूना उपयोग है:

 $ gitbox create myapp Creating empty repository... Initializing new repository... Repository successfully created. $ gitbox clone myapp Cloning repository... Repository successfully cloned. 

सामान्य जीआईटी के उपयोग के बाद:

 $ echo “Some change” > somefile.txt $ git add somefile.txt $ git commit –m “Created some file” $ git push 

प्रोजेक्ट विकी और पूर्ण निर्देश संदर्भ और ट्यूटोरियल के लिए मैनुअल देखें।

मैं अपने गैर- जिथूब रेपो ड्रॉपबॉक्स पर स्टोर करता हूं। एक चेतावनी जो मैं चल रहा था एक पुनर्स्थापना के बाद सिंक्रनाइज़ कर रहा था। बड़ी संख्या में जाने से पहले ड्रॉपबॉक्स सबसे छोटी फ़ाइलों को डाउनलोड करेगी। यदि आप रात में शुरू करते हैं और सप्ताहांत के बाद वापस नहीं आते हैं तो कोई मुद्दा नहीं 🙂

मेरा धागा – http://forums.dropbox.com/topic.php?id=29984&replies=6

मुझे डैन मैकनेविन द्वारा शीर्ष मतदान का उत्तर पसंद आया मैंने कई बार जीआईटी के आदेशों का क्रम भी समाप्त कर लिया और एक स्क्रिप्ट बनाने का फैसला किया। तो यहां यह है:

 #!/bin/bash # Usage usage() { echo "Usage: ${0} -m [ master-branch-directory ] -r [ remote-branch-directory ] [ project-name ]" exit 1 } # Defaults defaults() { masterdir="${HOME}/Dropbox/git" remotedir="${PWD}" gitignorefile="# OS generated files #\n\n.DS_Store\n.DS_Store?\n.Spotlight-V100\n.Trashes\nehthumbs.db\nThumbs.db" } # Check if no arguments if [ ${#} -eq 0 ] ; then echo "Error: No arguments specified" usage fi #Set defaults defaults # Parse arguments while [ ${#} -ge 1 ]; do case "${1}" in '-h' | '--help' ) usage ;; '-m' ) shift masterdir="${1}" ;; '-r' ) shift remotedir="${1}" ;; * ) projectname="${1##*/}" projectname="${projectname%.git}.git" ;; esac shift done # check if specified directories and project name exists if [ -z "${projectname}" ]; then echo "Error: Project name not specified" usage fi if [ ! -d "${remotedir}" ]; then echo "Error: Remote directory ${remotedir} does not exist" usage fi if [ ! -d "${masterdir}" ]; then echo "Error: Master directory ${masterdir} does not exist" usage fi #absolute paths remotedir="`( cd \"${remotedir}\" && pwd )`" masterdir="`( cd \"${masterdir}\" && pwd )`" #Make master git repository cd "${masterdir}" git init --bare "${projectname}" #make local repository and push to master cd "${remotedir}" echo -e "${gitignorefile}" > .gitignore # default .gitignore file git init git add . git commit -m "first commit" git remote add origin "${masterdir}/${projectname}" git push -u origin master #done echo "----- Locations -----" echo "Remote branch location: ${remotedir}" echo "Master branch location: ${masterdir}" echo "Project Name: ${projectname}" 

स्क्रिप्ट को केवल एक प्रोजेक्ट नाम की आवश्यकता है यह निर्दिष्ट नाम के तहत ~/Dropbox/git/ में एक git रिपॉजिटरी उत्पन्न करेगा और मौजूदा निर्देशिका की संपूर्ण सामग्री को नव निर्मित मूल मास्टर शाखा में धक्का देगा। यदि एक से अधिक प्रोजेक्ट नाम दिया गया है, तो सही-सबसे अधिक प्रोजेक्ट नाम तर्क का उपयोग किया जाएगा।

वैकल्पिक रूप से, -आर कमांड आर्ग्यूमेंट दूरस्थ शाखा को निर्दिष्ट करता है जो मूल मास्टर को पुश करेगा। परियोजना मूल मास्टर का स्थान -एम तर्क के साथ भी निर्दिष्ट किया जा सकता है। एक डिफ़ॉल्ट .gitignore फ़ाइल को भी दूरस्थ शाखा निर्देशिका में रखा गया है। निर्देशिका और .gitignore फ़ाइल डिफ़ॉल्ट स्क्रिप्ट में निर्दिष्ट हैं।

अब 2014 में, मैं बिना किसी समस्या के लगभग एक वर्ष और आधे के लिए गिट और ड्रॉपबॉक्स का प्रयोग कर रहा हूं। हालांकि कुछ बिंदु:

  • ड्रॉपबॉक्स का उपयोग करने वाली मेरी सारी मशीनें विंडोज पर हैं, विभिन्न संस्करण (7 से 8) + 1 मैक
  • मैं किसी और के साथ रिपोजिटरी को साझा नहीं करता, इसलिए मैं इसे संशोधित करने के लिए केवल एक ही हूं।
  • git push एक दूरस्थ भंडार में धक्का, ताकि अगर यह कभी भी भ्रष्ट हो जाता है, तो मैं इसे आसानी से पुनर्प्राप्त कर सकता हूँ।
  • मुझे C:\Users साथ mklink /D link target में उपनाम बनाना था क्योंकि कुछ पुस्तकालयों को पूर्ण स्थान की ओर इशारा किया गया था

मुझे एक समान समस्या का सामना करना पड़ा है और मैंने उसी के लिए एक छोटी सी स्क्रिप्ट बनाई है। विचार जितना संभव हो उतना ही गिट के साथ ड्रॉपबॉक्स का उपयोग करना है। वर्तमान में, मैंने जल्दी से रूबी कोड लागू किया है, और मैं जल्द ही और अधिक जोड़ दूंगा।

स्क्रिप्ट https://github.com/nuttylabs/box-git पर पहुंच योग्य है

तृतीय-पक्ष एकीकरण उपकरण का उपयोग किए बिना, मैं थोड़ी शर्त को बढ़ा सकता हूं और ड्रॉपबॉक्स और अन्य इसी तरह की क्लाउड डिस्क सेवाओं जैसे कि स्पाइडरऑक गिट के साथ उपयोग कर सकता हूं।

लक्ष्य इन फाइलों के संशोधनों के मध्य में सिंक्रनाइज़ेशन से बचने के लिए है, क्योंकि यह एक आंशिक स्थिति अपलोड कर सकता है और फिर इसे वापस डाउनलोड कर सकता है, पूरी तरह से आपके जीआईटी स्थिति को भ्रष्ट कर सकता है।

इस मुद्दे से बचने के लिए, मैंने किया:

  1. git bundle create my_repo.git --all का उपयोग करके एक फाइल में मेरी जीआईटी इंडेक्स को git bundle create my_repo.git --all
  2. फ़ाइल मॉनिटरिंग के लिए विलंब सेट करें, जैसे तात्कालिक के बजाय 5 मिनट। यह संभावना को कम कर देता है ड्रॉपबॉक्स एक बदलाव के मध्य में एक आंशिक स्थिति सिंक्रनाइज़ करता है। क्लाउड डिस्क ऑन-द-फ़्लाई (जैसे तात्कालिक बचत नोट-प्लानिंग ऐप के साथ) में फ़ाइलों को संशोधित करते समय यह बहुत मदद करता है।

यह सही नहीं है क्योंकि इसमें कोई गारंटी नहीं है कि यह फिर से जीआईटी स्थिति को गड़बड़ नहीं करेगा, लेकिन यह मदद करता है और फिलहाल मुझे कोई समस्या नहीं मिली।

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