LAN पर GIT रिपॉजिटरी


14

मैं Ubuntu OS में LAN पर GIT रिपॉजिटरी सेटअप करने की कोशिश कर रहा हूं । मैं सेटअप करने के लिए एक git भंडार में सक्षम हूँ, लेकिन यकीन नहीं कैसे लैन में अन्य उपयोगकर्ताओं को भंडार का पर्दाफाश । जैसा कि सर्वर की आवश्यकता है, मैंने ओपनएसएसएच-सर्वर स्थापित किया । लेकिन यह कैसे कॉन्फ़िगर करने के लिए पता नहीं है। कृपया मुझे पढ़ने के लिए सही संसाधन की ओर इशारा करें। धन्यवाद।




git 

जवाबों:


17

सबसे पहले, आपको उबंटू सर्वर पर अपने ओपनश सेटअप की जांच करने की आवश्यकता है: इस हॉव्टो को देखें ।

तो आप इस लेख का पालन कर सकते हैं , जो मुख्य रूप से सुझाते हैं:

$ sudo apt-get install python-setuptools
$ mkdir ~/src
$ cd ~/src
$ git clone git://eagain.net/gitosis.git
$ cd gitosis
$ sudo python setup.py install
$ sudo adduser \
  --system \
  --shell /bin/sh \
  --gecos 'git version control' \
  --group
  --disabled-password \
  --home /home/git \
  git

अपनी /etc/ssh/ssh_configफ़ाइल में जाएं और लॉगिन उपयोगकर्ताओं की सूची में git जोड़ें जो लॉगिन कर सकते हैं।
अपनी id_rsa.pubफ़ाइल को कहीं और अपने सर्वर पर कॉपी करें (हमारे उदाहरण में जिसका हम उपयोग कर रहे हैं /tmp) और फिर इस कमांड को चलाएं:

 $ sudo -H -u git gitosis-init < /tmp/id_rsa.pub
     Initialized empty Git repository in ./
 $ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

अपने स्थानीय मशीन से, इसे इसके साथ परखें:

 git clone git@YOUR_SERVER:gitosis-admin.git

एक नई परियोजना के लिए गिटोसिस कॉन्फ़िगर करें। गिटोसिस एक के तहत एक नया ब्लॉक बनाने के लिए अपने पसंदीदा संपादक का उपयोग करें। इसे ऐसा दिखना चाहिए:

[group myrailsapp]
members = myNameAsInTheRsa.pub
writable = myNewApp

उपरोक्त ब्लॉक में देखने के लिए कुछ चीजें।
सबसे पहले, सुनिश्चित करें कि आपका नाम आपकी सार्वजनिक कुंजी में मेल खाता है (यानी, अपना id_rsa.pub फ़ाइल खोलें और देखें कि नाम क्या कहता है।
दूसरा, सुनिश्चित करें कि आप सही तरीके से वर्तनी को वर्तनी दें!

एक बार जब आप काम पूरा कर लेते हैं, तो सर्वर के बदलावों को कमिट करें और पुश करें।

$ git commit -a -m "created a new repository!"
$ git push

नोट: यदि आप के साथ समस्या हो रही है eagain.net, आप Github का उपयोग कर सकते हैं।
कज़र्क

3

ऐसा करने का आपका सबसे अच्छा तरीका एक ssh सर्वर चलाना और अपने उपयोगकर्ताओं को git-shellउनके लॉगिन शेल के लिए उपयोग करने के लिए सीमित करना होगा । यदि आप पहले से ही स्थापित नहीं किया गया है, तो निम्न कमांड में से किसी एक को चलाकर आप ssh सर्वर को ठीक से स्थापित कर सकते हैं।

sudo apt-get install openssh-server

या

sudo apt-get install dropbear

फिर जोड़ने /usr/bin/git-shellके लिए /etc/shellsकरने से

sudo echo $(which git-shell) >> /etc/shells

फिर git-shellइसके बजाय bashअपने उपयोगकर्ता शेल के रूप में उपयोग करें। यह उपयोगकर्ता को केवल gitतब ही संचालन करने में सक्षम होने पर रोक लगाएगा जब उपयोगकर्ता को पूर्ण रूप से प्रदान करने के बजाय सर्वर में लॉग इन किया जाए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.