2012-06-22 20 views
6

क्या यह एक गीट कमांड में git pull और git push होना संभव है?एक बार में गिट पुल और गिट पुश

git pull & git push जैसे सिंटैक्स मुझे पूरी तरह से अनुकूल नहीं करता है, क्योंकि मुझे सर्वर पर मेरे क्रेडेंशियल्स को दो बार प्रदान करने की आवश्यकता है: खींचें और पुश पर।

तो मुझे आश्चर्य है, क्या इसके लिए कोई कामकाज है? मेरा मानना ​​है कि यह होना चाहिए, क्योंकि यह बहुत आम मामला है जब स्थानीय परिवर्तनों को धक्का देने से पहले डेवलपर दूरस्थ उत्पत्ति खींचता है।

संपादित: मैं विंडोज 7/64, msysgit-UTF8 1.7.9

+1

यदि विलय विवाद नहीं हो तो यह खतरनाक हो सकता है? –

+1

प्रोटोकॉल क्या है? प्रति सत्र – CharlesB

+3

केवल एक बार प्रमाण-पत्र प्रदान करने के तरीके हैं, ऐसा न करें। सार्वजनिक कुंजी प्रमाणीकरण सेट करें या प्रोटोकॉल को बदलें ताकि आप कर सकें। – wadesworld

उत्तर

4

सबसे पहले उपयोग कर रहा हूँ, आप _netrc फ़ाइल कि Git, यहाँ संबंधित समस्या द्वारा उपयोग किया जाएगा कॉन्फ़िगर कर सकते हैं: Git - How to use .netrc file on windows to save user and password तो फिर तुम आदेश के लिए एक उपनाम कॉन्फ़िगर कर सकते हैं:

git config alias.publish '!git pull && git push'` 

और बस के प्रकार: git publish

+0

मैं @ प्रतीक का उपयोग करके भंडार के यूआरएल में लॉगिन जोड़ सकता हूं विभाजक के रूप में। और मैं अपना पासवर्ड '.git/config' में जोड़ सकता हूं। लेकिन मैं अपने पासवर्ड स्टोर नहीं करना चाहता हूं। मुझे पासवर्ड से पूछा जाना पसंद है। लेकिन केवल एक बार! – shytikov

+0

मेरा मानना ​​है कि यह '.netrc समाधान एसएसएच कनेक्शन के साथ काम नहीं करेगा ... – shytikov

+0

आपको .git/config में लॉगिन और पासवर्ड जोड़ने की आवश्यकता नहीं है। यह एक गलत तरीका है। यदि आप एसएसएच कनेक्शन का उपयोग करते हैं, तो उसके लिए सार्वजनिक कुंजी का उपयोग करना बेहतर नहीं है। क्रेडेंशियल्स द्वारा https कनेक्शन के लिए आप विंडोज़ में _netrc फ़ाइल का उपयोग कर सकते हैं, डॉट के बजाय फ़ाइल नाम में अंडरलाइन पर ध्यान दें। – lisachenko

0

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

आपको बस इतना करना है कि फ़ाइल बनाना है, जो आप लिखना चाहते हैं, दो पंक्तियों में डाल दें, और उस फ़ाइल नाम को कमांड लाइन में टाइप करें जब भी आप उन्हें निष्पादित करना चाहते हैं।

फिर से, सबसे कुशल तरीका नहीं, लेकिन एक त्वरित फिक्स।

+0

यह डबल प्रमाणीकरण के साथ स्थिति को ठीक नहीं करता है ... और यह समस्या है। यह मुझे 'गिट पुल और गिट पुश' टाइप करने के लिए परेशान नहीं करता है। मैं अपना पासवर्ड दो बार टाइप नहीं करना चाहता, क्योंकि मुझे विश्वास है कि इसके लिए अनुकूलन होना चाहिए। लेकिन मुझे अभी तक यह नहीं मिला है ... – shytikov

0

बेहतर होगा कि तुम SSH का उपयोग करेंगे, लेकिन अगर आप SSH उपयोग नहीं कर सकते, तो आप हमेशा अपना पासवर्ड सहेजना खिड़कियों साख की दुकान का उपयोग कर सकते हैं ताकि आप दो बार में भरने की जरूरत नहीं है:

git config --global credential.helper wincred 

स्रोत: Git documentation

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