मुझे अक्सर इंटरनेट पर नेटवर्क/नेटवर्क कनेक्शन के साथ सड़क पर सामान विकसित करने की आवश्यकता होती है। मैं केवल एक डेवलपर हूं, इसलिए अब तक मेरी मशीन पर बस एक एसवीएन रिपोजिटरी थी और जब मैं चला गया तो मेरे लैपटॉप पर चेकआउट किया। समस्या: इससे मुझे सड़क पर कोई स्रोत नियंत्रण नहीं मिलता है।एक डेवलपर के लिए गिट सेटअप?
तो मैंने गिट में बदलने की कोशिश की, जो मुझे लगता है कि ऐसा करने लगता है, लेकिन मुझे यकीन नहीं है कि मैं ठीक से समझता हूं कि यह मेरे सेटअप में कैसे उपयोग किया जाना चाहिए।
मूलतः:
- बनाया \ MyServer \ शेयर \ का उपयोग कर
git init
- क्लोंड मशीन 1 करने के लिए है कि भंडार
git clone
- का उपयोग कर क्लोंड मशीन से 2 भंडार का उपयोग करते हुए कि
git clone
- काम परियोजना पर एक भंडार मशीन 2 पर,
git commit
का उपयोग करके मेरे स्थानीय भंडार में कोई बदलाव करने के लिए - F inally
git push
उपयोग किए गए सभी परिवर्तन पीछे धकेलने के लिए \ MyServer \ शेयर \ prohect - मशीन 1 पर
git pull
प्रयुक्त \ शेयर \ परियोजना \ MyServer से नवीनतम परिवर्तन प्राप्त करने के लिए
काम करता है यही कारण है, लेकिन git push
आदेश मुझे एक देता है चेतावनी देते हुए कि चेक-आउट शाखा को धक्का देना समर्थित नहीं है क्योंकि यह सूचकांक को भ्रमित कर सकता है। अब, मैं उलझन में हूं, क्योंकि संदेश को गंभीर स्वर में भी लिखा गया था, जिसका अर्थ है कि मुझे इसे सम्मानित करना चाहिए (और वास्तव में, गिटक दिखाता है कि अब मेरे पास दो शाखाएं हैं: मास्टर और रिमोट/मूल/मास्टर), लेकिन मैं अभी तक शब्दावली पूरी तरह से समझ में नहीं आता है।
मेरी स्थिति में सही कदम क्या होंगे?
- मैं ही कभी, मशीन 1 या मशीन 2 पर काम करेंगे पर कभी नहीं दोनों
- मैं (बस हमेशा की तरह की तरह) bugfixes/परीक्षण के लिए एक अलग शाखा के लिए एक मार्ग के रूप शाखाओं में उपयोग करना चाहते हैं, लेकिन एकाधिक डेवलपर्स
- के रूप में नहीं, मैं वास्तव में मुख्य रूप से इसे अपने एसवीएन rsync के विकल्प के रूप में उपयोग करना चाहता हूं।
संपादित करें: दो विषमताएं हैं। पहला यह है कि अगर मैं बस एक फ़ाइल बदलता हूं, तो यह कहता है "बदल गया लेकिन अपडेट नहीं किया गया"। जो अजीब है:
warning: You did not specify any refspecs to push, and the current remote
warning: has not configured any push refspecs. The default action in this
warning: case is to push all matching refspecs, that is, all branches
warning: that exist both locally and remotely will be updated. This may
warning: not necessarily be what you want to happen.
warning:
warning: You can specify what action you want to take in this case, and
warning: avoid seeing this message again, by configuring 'push.default' to:
warning: 'nothing' : Do not push anything
warning: 'matching' : Push all matching branches (default)
warning: 'tracking' : Push the current branch to whatever it is tracking
warning: 'current' : Push the current branch
Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 333 bytes, done.
Total 4 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (4/4), done.
warning: updating the current branch
warning: Updating the currently checked out branch may cause confusion,
warning: as the index and work tree do not reflect changes that are in HEAD.
warning: As a result, you may see the changes you just pushed into it
warning: reverted when you run 'git diff' over there, and you may want
warning: to run 'git reset --hard' before starting to work to recover.
warning:
warning: You can set 'receive.denyCurrentBranch' configuration variable to
warning: 'refuse' in the remote repository to forbid pushing into its
warning: current branch.
warning: To allow pushing into the current branch, you can set it to 'ignore';
warning: but this is not recommended unless you arranged to update its work
warning: tree to match what you pushed in some other way.
warning:
warning: To squelch this message, you can set it to 'warn'.
warning:
warning: Note that the default will change in a future version of git
warning: to refuse updating the current branch unless you have the
warning: configuration variable set to either 'ignore' or 'warn'.
To file:///\\myserver\share\project
129649b..1f4b957 master -> master
तो यह मुझसे कहता है कि "वर्तमान शाखा में धक्का" है:
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: myproject/Readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
दूसरा संदेश एक मुझे लगता है कि अपराधी, Git धक्का के उत्पादन में है अनुशंसित नहीं है, लेकिन मुझे वास्तव में यह नहीं मिलता है कि ऐसा करने का उचित तरीका क्या है।
मैं एक ही समस्या को हल करने के लिए गिट का उपयोग कर रहा हूं। मुझे एक ही समस्या नहीं है, लेकिन मैंने इसे थोड़ा अलग तरीके से संपर्क किया। मैं केंद्रीय भंडार के रूप में घर पर एक लिनक्स सर्वर का उपयोग कर रहा हूं, तो मेरे सभी देव स्थान केंद्रीय के क्लोन हैं। क्या आप सटीक त्रुटि संदेश कॉपी कर सकते हैं? यह मुझे आपके प्रश्न का बेहतर उत्तर देने में मदद कर सकता है। –
इससे मदद मिली। आपके पास अन्य लोगों से कुछ अच्छे जवाब हैं, जिन्हें मैं ऊपर उठा रहा हूं। –