2013-01-31 27 views
16

मैंने विंडोज और लिनक्स के लिए स्क्रिप्ट लिखी हैं ताकि अनिवार्य रूप से हमारे सर्वर से सभी गिट रिपॉजिटरीज़ के साथ एक नया उपयोगकर्ता वर्कस्पेस स्थापित किया जा सके।गिट पुल कमांड को पासवर्ड कैसे इनपुट करें?

मैं चाहता हूं कि उपयोगकर्ता एक बार हमारे सर्वर के लिए पासवर्ड दर्ज करें, इसे स्थानीय चर में संग्रहीत करें, उस चर को प्रत्येक git pull कमांड पर पास करें, फिर पासवर्ड चर और मिटा दें।

git pull कमांड अनुरोध करते समय मैं पासवर्ड कैसे इनपुट कर सकता हूं? विंडोज बैच फ़ाइल और लिनक्स शैल स्क्रिप्ट दोनों के लिए। ,

#!/bin/bash 

echo "Enter password: " 
read pswd 
clear #No screen peaking 

#This is repeated for each repo 
location=folderName 
mkdir $location 
cd $location 
git init 
git remote add origin [email protected]<server>:$location.git 
git pull origin master 
#Above prompts for password & is where I want to automatically input $pswd 

मैं ऐसे पाइपिंग के रूप में एसओ और अन्य जगहों पर की सिफारिश की विभिन्न बातें, की कोशिश की है, .txt फ़ाइल से पढ़ने आदि मैं कुछ नहीं चाहिए पसंद करेंगे:

यहाँ लिनक्स स्क्रिप्ट से कोड है सादे पुराने विंडोज़ cmd और लिनक्स टर्मिनल कमांड से अधिक। और चूंकि यह स्क्रिप्ट बस सेट अप उद्देश्यों के लिए है, मुझे एसएसएच एजेंट की तरह कुछ स्थायी रूप से पासवर्ड को सुरक्षित रूप से स्टोर करने की आवश्यकता नहीं है।

मैं विंडोज 7 और उबंटू 12.10 चला रहा हूं, लेकिन यह स्क्रिप्ट नए उपयोगकर्ताओं को स्थापित करने के लिए है, इसलिए इसे आदर्श रूप से अधिकांश वितरणों पर काम करना चाहिए।

उत्तर

3

मैं वास्तव में करने के लिए नहीं कोशिश की सिफारिश करेंगे और उस पासवर्ड कदम का प्रबंधन, और प्रतिनिधि है कि (दोनों लिनक्स और विंडोज पर) के लिए Git क्रेडेंशियल सहायक
देखें:

उपयोगकर्ता प्रति सत्र केवल एक बार पासवर्ड दर्ज करेंगे।

+3

यह भी उपयोगकर्ताओं को इस सवाल का जवाब नहीं है । आईटी बस कुछ और उपयोग करने की सिफारिश करता है। निश्चित रूप से, सादा पाठ में खुले पासवर्ड रखना बुरा लगता है, लेकिन कोई भी व्यक्ति आपको स्रोत नियंत्रण में पासवर्ड रखने के लिए कहेंगे। (जब तक यह एक devops कार्य नहीं है) क्योंकि आप इसे भूल जाएगा। –

+1

@CyberMen यह DevOps व्यक्ति नहीं है। हम पासवर्ड-पासवर्ड एप्लिकेशन में पासवर्ड रखते हैं। – JamesQMurphy

33

सार:

git pull "https://<username>:<password>@github.com/<github_account>/<repository_name>.git" <branch_name> 

उदाहरण:

git pull "https://admin:[email protected]/Jet/myProject.git" master 

नोट: यह एक bash स्क्रिप्ट पर मेरे लिए काम करता

+0

यह वास्तव में स्वीकार्य उत्तर होना चाहिए, @ मैट – gregoltsov