मैंने दौड़ने के बाद यह पाया locate git-shell-commands
cat /usr/share/doc/git-1.7.4.4/contrib/git-shell-commands/README
गिट-शेल के माध्यम से कॉल करने योग्य नमूना कार्यक्रम। एक उपयोगकर्ता के घर निर्देशिका में 'git-shell-कमांड' नाम की एक निर्देशिका रखें जिसका शेल git-shell है। तब कोई भी व्यक्ति जो उस उपयोगकर्ता के रूप में लॉग-इन कर रहा है, 'git-shell-कमांड्स' डायरेक्टरी में एक्जीक्यूटेबल्स चलाने में सक्षम होगा।
प्रदान किए गए आदेश:
सहायता: उपलब्ध आदेशों के नाम प्रिंट करता है। जब अंतःक्रियात्मक रूप से चलाया जाता है, तो git-shell स्वचालित रूप से स्टार्टअप पर 'सहायता' चलाएगा, बशर्ते यह मौजूद हो।
सूची: किसी भी नंगे भंडार को प्रदर्शित करता है जिसका नाम उपयोगकर्ता के घर निर्देशिका के तहत ".गित" के साथ समाप्त होता है। कोई अन्य गिट रिपॉजिटरी दिखाई नहीं देते हैं, हालांकि वे गिट-शेल के माध्यम से क्लोन हो सकते हैं। 'सूची' को कॉल करने की संख्या को कम करने के लिए डिज़ाइन किया गया है जो उपलब्ध रिपॉजिटरी को खोजने में किया जाना चाहिए; यदि आपके सेटअप में अतिरिक्त रिपॉजिटरी हैं, जो उपयोगकर्ता-खोज योग्य होनी चाहिए, तो आप तदनुसार 'सूची' को संशोधित करना चाह सकते हैं।
इसलिए मैंने निम्नलिखित कमांड को रूट के रूप में चलाया:
cp /usr/share/doc/git-1.7.4.4/contrib/git-shell-commands /home/git -R
chown git:developers /home/git/git-shell-commands/ -R
chmod +x /home/git/git-shell-commands/help
chmod +x /home/git/git-shell-commands/list
exit
मैं तब git
उपयोगकर्ता के रूप में निम्नलिखित चलाने में सक्षम था :
[me@svn ~]$ su git
Password:
Run 'help' for help, or 'exit' to leave. Available commands:
list
git> help
Run 'help' for help, or 'exit' to leave. Available commands:
list
git> list
git> exit
अब मुझे यह नहीं दिखता कि अच्छी मदद और सूची क्या है, लेकिन लॉगिन ने काम किया। :)
git-shell
केवल (यानीgit push
,git fetch
औरgit pull
) कार्यक्षमता पुश / पुल कार्यक्षमता के लिए उपयोग किया जाने वाला एक प्रतिबंधित शेल है । यह इंटरएक्टिव होने के लिए नहीं है, इसलिए आपको इंटरेक्टिव शेल में लॉगिन नहीं करना चाहिए। आपgit-shell-commands
उपयोगकर्ता के घर में एक निर्देशिका जोड़कर और कुछ बायनेरिज़ को सहानुभूति के साथ इसे कुछ इंटरैक्टिव बना सकते हैं । लेकिन यह बहुत सीमित है (cd
उदाहरण के लिए कोई बाइनरी नहीं है ), इसलिए एक बेहतर विकल्प लॉगिनroot
याsudo
सक्षम उपयोगकर्ता के रूप में है और उपयोगकर्ता के तहतsudo -u git -s
पूर्णbash
शेल प्राप्त करने के लिए करता हैgit
।