2011-08-15 12 views
9

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

मैं गिट रेपो के लिए अपना स्वयं का सर्वर सेट करना चाहता हूं, इसलिए मेरे दोस्त मुझे उस गेम के साथ मदद कर सकते हैं जो मैं एंड्रॉइड के लिए विकसित कर रहा हूं। लेकिन मुझे नहीं पता कि कैसे!

क्या गिटोसिस इसके लिए सबसे अच्छा विकल्प होगा?

+1

गिटहब का उपयोग करना कोई विकल्प नहीं है? –

+2

@Esko, GitHub एक विकल्प नहीं है क्योंकि रेपो को निजी बनाने के लिए इसे $$$ की आवश्यकता है और मैं एक निशुल्क विकल्प ढूंढ रहा हूं। – KRB

+0

https://bitbucket.org मुफ्त निजी गिट और Mercurial भंडार प्रदान करता है। –

उत्तर

9

सबसे पहले, आपको रेपो (git init के रूप में आसान)
दूसरा, आपको अपने मित्रों को रेपो तक पहुंचने की आवश्यकता है।

आप कुछ ही विकल्प है जो Git हैंडल का उपयोग हो सकता है:

के माध्यम से
  • file:// (लैन पर सीधी पहुँच)
  • FTP के माध्यम से
  • Git प्रोटोकॉल के माध्यम से (ssh पहुँच)

तीसरा, एक्सेस, अनुमतियों आदि का प्रबंधन करें

इसके लिए, सबसे अच्छा विकल्पहै, gitosis से बेहतर। रेपो में एक अच्छी स्थापना गाइड है। सबसे मुश्किल हिस्सा सर्वर पर पासवर्ड रहित पहुंच स्थापित कर रहा है (लेकिन यह वास्तव में गिट से संबंधित नहीं है)। उबंटू और गीथूब का उपयोग करके आप शायद जानते हैं कि सार्वजनिक एसएसएच कुंजी क्या हैं।

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

को Pro Git पुस्तक से भी देखें। अध्याय गिटोलाइट और गिटोसिस के साथ अध्याय हैं।

10

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

cd my-repo 
cd .. 
# Make a bare copy of the repo 
git clone --bare my-repo my-repo.git 
# Upload the bare copy to the server 
# -- in this case, I've already created a /repos folder to hold the bare repos 
rsync my-repo.git/ mysshserver:/repos/my-repo.git/ 
# Add the new server repo as a remote to your local repository 
cd my-repo 
git remote add origin mysshserver:/repos/my-repo.git 
फिर अपने साथी के लिए

:

git clone mysshserver:/repos/my-repo.git/ 

केवल चाल यकीन है कि (सभी उपयोगकर्ता खातों को रेपो फ़ोल्डर में अनुमतियाँ लिखने का उपयोग कर रहे बना रही है /repos/my-repo.git/* सर्वर पर)।

+0

महान सलाह, धन्यवाद। क्या आप वास्तव में "गिट रिमोट एड मास्टर" का मतलब था? या यह "गिट रिमोट एड मूल" होना चाहिए? (मैं गिट करने के लिए नया हूं, इसलिए भ्रमित हो सकता है।) – Nelson

+1

हाँ, आप सही हैं, शायद मूल होना चाहिए। उत्तर में फिक्स्ड। – avh

संबंधित मुद्दे