Git workflow को बेहतर बनाने के 15 टिप्स
(insight.infograb.net)- commits की तुलना, पुराने branches हटाने, और aliases बनाकर समय बचाने के तरीके जानें
- Git aliases
- रोज़मर्रा में इस्तेमाल होने वाले commands के लिए alias बनाकर terminal में काम का समय बचाएँ
- उदाहरण:
git checkout masterटाइप करने के बजायco masterलिखें ~/.gitconfigफ़ाइल को सीधे संपादित करके commands बदलें या जोड़ें
- Command prompt में repository की स्थिति जाँचें
- repository की स्थिति देखने के लिए
git-prompt.shचलाएँ - अगर आप Linux इस्तेमाल कर रहे हैं और package manager के साथ Git install किया है, तो यह
/etc/bash_completion.d/directory में पहले से मौजूद हो सकता है
- repository की स्थिति देखने के लिए
- Command line में commits की तुलना करें
git diffcommand का इस्तेमाल करके एक ही फ़ाइल के versions या commits के बीच अंतर की तुलना करें- अगर diff की तुलना के लिए अधिक visual tool चाहिए, तो
git difftoolइस्तेमाल कर सकते हैं- Meld: diff को visual तरीके से compare करने के लिए उपयोगी viewer/editor
- Uncommitted changes को stash करें
- जब आप अधूरा feature commit नहीं करना चाहते लेकिन मौजूदा changes को सुरक्षित रखना चाहते हैं, तब
git stashcommand से changes को अस्थायी रूप से हटा सकते हैं - संशोधन पूरा करने के बाद पहले वाले changes पर लौटने के लिए
$ git stash popचलाएँ
- जब आप अधूरा feature commit नहीं करना चाहते लेकिन मौजूदा changes को सुरक्षित रखना चाहते हैं, तब
- बार-बार pull करें
- GitLab Flow इस्तेमाल करने पर नया काम feature branch में किया जाता है
- feature लागू करने में लगने वाले समय के दौरान
masterbranch में कई changes आ सकते हैं - बड़े code conflicts से बचने और branch को
masterमें आसानी से merge करने के लिएmasterbranch के changes को अपनी working branch में बार-बार लाना चाहिए
- Command auto-completion
- auto-completion scripts की मदद से bash, tcsh, zsh में commands को आसान और तेज़ी से इस्तेमाल किया जा सकता है
git pullलिखने के लिए सिर्फgit pजैसा शुरुआती हिस्सा टाइप करें और tab दबाएँ- उपलब्ध सभी commands दिखाने के लिए terminal में
gitलिखकरtab+tabदबाएँ
- Global
.gitignoreसेट करें- अगर आप
.DS_Storeया Vimswpजैसी फ़ाइलें commit नहीं करना चाहते, तो उन्हें global.gitignoreफ़ाइल में सेट कर सकते हैं
- अगर आप
- Git की autosquash सुविधा को default बनाकर इस्तेमाल करें
- autosquash से interactive rebase के दौरान commits को squash करना आसान हो जाता है
- आप हर बार
git rebase -i —autosquashसे इसे चालू कर सकते हैं, लेकिन इसे default setting के रूप में ऑन रखना ज़्यादा सुविधाजनक है
- fetch/pull करते समय remote से हटाई गई चीज़ों को local branches से भी हटाएँ
- जो branches remote repository से हट चुकी हैं, वे local repository में अब भी बची रह सकती हैं
- हर fetch/pull पर उन्हें हटाने के लिए
$ git config —global fetch.prune trueसेट करें
- Git blame को ज़्यादा प्रभावी ढंग से इस्तेमाल करें
- Git blame यह पता लगाता है कि फ़ाइल में किसने कौन-सी line बदली
- options
$ git blame -w# whitespace को ignore करें$ git blame -M# text move को ignore करें$ git blame -C# दूसरे files में text move को ignore करें
- Alias जोड़कर merge request को local में checkout करें
- merge request में repository का पूरा history और MR से जुड़े branch में जोड़े गए commits शामिल होते हैं
- जब source project, target project का fork हो, तब public merge request को local में checkout किया जा सकता है
- HEAD का alias
@,HEADके समान है। rebase के समय इसका इस्तेमाल करने से काम बहुत आसान हो जाता है
- फ़ाइल वापस लाना (reset)
- code बदलते समय अगर आपको लगे कि किए गए changes में समस्या है, तो फ़ाइल को वापस लाना होगा
- हर बदलाव पर अलग-अलग undo क्लिक करने के बजाय फ़ाइल को उस branch के
HEADपर reset किया जा सकता है- उदाहरण)
$ git reset —hard HEAD
- उदाहरण)
- अगर सिर्फ एक फ़ाइल वापस लानी हो, तो यह command चलाएँ
- उदाहरण)
$ git checkout HEAD — path/to/file
- उदाहरण)
git-openplugin- जिस website पर आपकी current repository host की गई है, वहाँ जल्दी पहुँचने के लिए
git-openइस्तेमाल कर सकते हैं
- जिस website पर आपकी current repository host की गई है, वहाँ जल्दी पहुँचने के लिए
git-extrasplugin- Git की usability बढ़ाने के लिए अतिरिक्त commands के साथ
git-extrasplugin इस्तेमाल करें git info(repository जानकारी दिखाना),git effort(प्रति फ़ाइल commit की संख्या) उपलब्ध हैं
- Git की usability बढ़ाने के लिए अतिरिक्त commands के साथ
अभी कोई टिप्पणी नहीं है.