यहां परिदृश्य है। मेरे पास दो मशीनें हैं, "डेस्कटॉप" और "लैपटॉप"।मैं दो गिट भंडारों को सिंक में कैसे रखूं?
डेस्कटॉप पर मुझे क्या करना:
mkdir git_test
cd git_test
git init
dd if=/dev/urandom of=test.img bs=1k count=1000
git add test.img
git commit -m "Added first image"
फिर लैपटॉप पर मैं करता हूँ:
git clone [USER]@desktop:/home/[USER]/git_test
cd git_test
dd if=/dev/urandom of=test2.img bs=1k count=1000
git add test2.img
git commit -m "Added second image"
तब मैं अपने डेस्कटॉप पर Git रेपो चाहते अपने लैपटॉप पर Git रेपो तरह देखने के लिए। Git धक्का मूल मास्टर
लेकिन तब मैं: लैपटॉप पर, मैं निम्नलिखित जारी
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
मैं कैसे सिंक में इन दोनों रेपोस रहते हो?
त्रुटि संदेश यह इंगित करते हैं कि गिट में मेरी इच्छित कार्यक्षमता है, लेकिन किसी कारण से यह एक और अधिक उन्नत वर्कफ़्लो प्रतीत होता है। मैंने सुना है कि किसी ने एक बार कहा है कि आप उस शाखा में धक्का नहीं दे सकते जिसे आप वर्तमान में चालू कर रहे हैं, क्या कोई उस संभावित समाधान के रूप में विस्तार कर सकता है? मुझे उस प्रकृति के समाधान के साथ कोई समस्या नहीं होगी, यानी, मैं अपने लैपटॉप पर एक निश्चित शाखा पर काम कर सकता हूं, और अपने डेस्कटॉप पर एक अलग शाखा, और फिर उन्हें किसी भी तरह सिंक कर सकता हूं ताकि वे समान हों।
कृपया निम्नलिखित ध्यान दें!
मैं कई कारणों से GitHub की तरह एक केंद्रीकृत रेपो उपयोग करने के लिए, नहीं करना चाहती। पहला सुरक्षा है। दूसरा सादगी है। तीसरा यह है कि परिस्थितियों के कारण मैं यहां नहीं जाऊंगा, मैं कुछ रिमोट सर्वर से इंटरनेट कनेक्शन रखने पर भरोसा नहीं कर सकता, मेरे पास बस दो मशीनें लैन के माध्यम से जुड़ी हैं। अंत में, मैं जानना चाहता हूं कि जिस तरह से मैंने अनुरोध किया है, वैसे ही ज्ञान के उस विशिष्ट टुकड़े को हासिल करने के लिए।
मैं भी एक नंगे रेपो का उपयोग नहीं करना चाहता, क्योंकि एक नंगे रेपो में रूट डीआईआर में क्रॉफ्ट का गुच्छा है। यह बदसूरत और गन्दा है। सबवर्सन से गिट में जाने का पूरा कारण यह है कि गिट एक क्लीनर, विकेन्द्रीकृत समाधान की तरह दिखता है। इसके अलावा, मेरे पास कुछ हद तक गैर-तकनीकी लोग हैं जो डेस्कटॉप की रूट डायर में काम करेंगे, वे क्रूर द्वारा काफी भ्रमित हो जाएंगे। गिट की सुंदरता है (मैंने सोचा था कि सब कुछ .git फ़ोल्डर्स में छुपाता है। संपादित करें: जाहिर है मैं इस बिंदु के साथ पर्याप्त स्पष्ट नहीं था। कल्पना करें कि मेरे पास निम्न उप फ़ोल्डर के साथ "दस्तावेज़" फ़ोल्डर है: mydata1 और mydata2। यह एक प्रत्याशित उदाहरण नहीं है, यह वही मुद्दा है जिसे मैं सौदा करने की कोशिश कर रहा हूं। mydata1 "test.img" और केवल उस फ़ाइल को शामिल करना चाहिए, लेकिन इसके बजाय यह अब है:
शाखाओं config वर्णन प्रमुख हुक जानकारी वस्तुओं refs
मैं सक्षम होने के लिए करना चाहता था mydata1 में बस cd करने के लिए और फ़ाइलों को संपादित करना प्रारंभ करें, लेकिन इसके बजाय मुझे शाखाओं के माध्यम से कोशिश करना और सीडी करना है, या जो कुछ भी काम करने के लिए है। और के लिए इस प्रकार की निर्देशिका संरचना के लिए प्रत्येक सबफ़ोल्डर जो "दस्तावेज़" में था, केवल अनावश्यक है। कृपया, कृपया मुझे इस तरह से काम करने के लिए मत कहो। कृपया सवाल का जवाब दें। धन्यवाद।
ये दो अंक पूरे कारण हैं कि मैं यहां इस प्रश्न को पोस्ट कर रहा हूं।अगर आपको इस प्रश्न का उत्तर है तो कृपया केवल उत्तर दें। :) धन्यवाद!!
"क्रॉफ्ट" जिसका मैं जिक्र कर रहा हूं, निम्नलिखित है: "शाखा कॉन्फ़िगरेशन विवरण हेड हुक जानकारी ऑब्जेक्ट रेफ्स" मैं बस/home/[user]/git_repo में केवल उन फ़ाइलों को शामिल करना चाहता हूं जिनके साथ मैं काम कर रहा हूं। इसके अलावा: .git फ़ोल्डर्स छुपाए गए हैं। –
आप रेपो छुपा सकते हैं। – nobar