एक मछली समारोह में, क्या मैं इसे बदलने के बिना एक निश्चित निर्देशिका से एक कमांड चला सकता हूं?
या
क्या मैं push
किसी तरह से अपना मार्ग निर्दिष्ट करके रिपॉजिटरी के बाहर से एक git कमांड ( ) चला सकता हूं ?
मैं कुछ इस तरह करना चाहता हूं:
function backup
set BKDIR /flash/drive
rsync -av $HOME/important/ $BKDIR/important/
cd $HOME/git_repo
git push flash master
end
लेकिन मैं कुछ अन्य निर्देशिका में बदलना नहीं चाहता। अगर मैं rsync का उपयोग करते समय git रेपो को सिंक कर सकता हूं तो यह बहुत अच्छा होगा: स्रोत निर्देशिका को निर्दिष्ट करके लेकिन कार्यशील निर्देशिका को परिवर्तित नहीं करना।
मुझे लगता है कि शुरुआत में वर्तमान निर्देशिका को रिकॉर्ड करने और अंत में इसे वापस बदलने के लिए एक आखिरी उपाय होगा।
git -C /foo/bar rest-of-git-command
मैं जो चाहता था, उसके करीब का उपयोग कर रहा हूं: "-C <path>
: वर्तमान कार्यशील निर्देशिका के बजाय यदिgit
इसे शुरू किया गया था, तो चलाएं<path>
। " मुझे लगता है कि यह अधिक मामलों में बेहतर काम करता है, जैसा कि यह सेट करता हैgit-dir
औरwork-tree
। Git मैन-पेज-C
में देखें ।