बैश प्रॉम्प्ट में जीआईटी ब्रांच और स्टेटस दिखाएँ

त्वरित Git संदर्भ के लिए Bash प्रॉम्प्ट अनुकूलन

Page content

एक अच्छी तरह से कॉन्फ़िगर किया गया बैश प्रॉम्प्ट जो गिट रिपॉजिटरी जानकारी प्रदर्शित करता है आपकी विकास कार्यप्रवाह को महत्वपूर्ण रूप से सुधार सकता है।

git status और git branch कमांड्स को बार-बार चलाने के बजाय, आप अपने टर्मिनल प्रॉम्प्ट में इस महत्वपूर्ण जानकारी को हमेशा दिखाई दे सकते हैं।

oh-my-posh

Oh-my-push प्रॉम्प्ट उदाहरण।

अपने बैश प्रॉम्प्ट में गिट जानकारी जोड़ने का कारण

जब आप दिन भर में कई गिट रिपॉजिटरी और ब्रांच के साथ काम करते हैं, तो कॉन्टेक्स्ट स्विचिंग एक महत्वपूर्ण उत्पादकता की खपत होती है। एक गिट-एवर प्रॉम्प्ट कई सामान्य समस्याओं को हल करता है:

  • ब्रांच कन्फ्यूजन को रोकता है: आप हमेशा जानेंगे कि आप किस ब्रांच पर हैं पहले कि आप कमिट करें
  • कमांड ओवरहेड कम करता है: git status और git branch को बार-बार चलाने की आवश्यकता नहीं है
  • तत्काल दृश्य प्रतिक्रिया: अनकमिटेड बदलावों, अनट्रैक्ड फाइलों, और अपस्ट्रीम स्टेटस को एक नज़र में देखें
  • कम गलतियाँ: गलती से गलत ब्रांच पर कमिट करने या डर्टी कोड को पुश करने से बचें

बैश PS1 वेरिएबल को समझना

बैश प्रॉम्प्ट को PS1 पर्यावरण वेरिएबल द्वारा नियंत्रित किया जाता है। इस वेरिएबल में शामिल हो सकते हैं:

  • लिटरल टेक्स्ट: आप जो भी चरक्टर प्रदर्शित करना चाहते हैं
  • इस्केप सीक्वेंस: \ से शुरू होने वाले विशेष कोड जो डायनामिक जानकारी प्रदर्शित करते हैं
  • कमांड सब्सटिट्यूशन: $(...) में कमांड्स जो चलते हैं और अपने आउटपुट प्रदर्शित करते हैं
  • ANSI कलर कोड्स: इस्केप सीक्वेंस जो टेक्स्ट कलर्स बदलते हैं

PS1 के सामान्य इस्केप सीक्वेंस शामिल हैं:

  • \u - वर्तमान यूज़रनेम
  • \h - होस्टनेम
  • \w - वर्तमान वर्किंग डायरेक्टरी
  • \$ - रूट के लिए #, सामान्य यूज़र के लिए $
  • \t - वर्तमान समय 24-घंटे प्रारूप में

एक बेसिक प्रॉम्प्ट इस तरह दिख सकता है: PS1='\u@\h:\w\$ ' जो आउटपुट देता है जैसे user@hostname:/path/to/dir$। अधिक बैश फंडामेंटल्स और इस्केप सीक्वेंस के लिए, हमारी व्यापक बैश चीत शीट देखें।

विधि 1: गिट के बिल्ट-इन git-prompt.sh स्क्रिप्ट का उपयोग करना

गिट डिस्ट्रीब्यूशन्स में एक हेल्पर स्क्रिप्ट शामिल है जिसे git-prompt.sh कहा जाता है जो __git_ps1 फ़ंक्शन प्रदान करता है। यह सबसे विश्वसनीय और फीचर-रिच दृष्टिकोण है।

git-prompt.sh का स्थान निर्धारण

पहले, अपने सिस्टम पर स्क्रिप्ट का स्थान ढूंढें:

# लिनक्स पर सामान्य स्थान
/usr/share/git-core/contrib/completion/git-prompt.sh
/etc/bash_completion.d/git-prompt
/usr/lib/git-core/git-sh-prompt

# macOS पर सामान्य स्थान (Homebrew के साथ)
/usr/local/etc/bash_completion.d/git-prompt.sh
/Library/Developer/CommandLineTools/usr/share/git-core/git-prompt.sh

# अगर आवश्यक हो तो इसे खोजें
find /usr -name git-prompt.sh 2>/dev/null

बेसिक कॉन्फ़िगरेशन

अपने ~/.bashrc या ~/.bash_profile में निम्नलिखित जोड़ें:

# git-prompt स्क्रिप्ट को स्रोत बनाएं
source /usr/lib/git-core/git-sh-prompt

# अपने प्रॉम्प्ट को गिट जानकारी शामिल करने के लिए सेट करें
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;31m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '

$(__git_ps1 " (%s)") भाग फ़ंक्शन को कॉल करता है, और %s वर्तमान ब्रांच नाम के साथ बदल दिया जाता है। आसपास के स्पेस और पैरेंथेसिस इसे अच्छी तरह से फ़ॉर्मेट करते हैं।

संपादन के बाद, अपने कॉन्फ़िगरेशन को रीलोड करें:

source ~/.bashrc

एडवांस्ड git-prompt.sh विकल्प

गिट-पrompt.sh पर्यावरण वेरिएबल्स के माध्यम से अपने वैकल्पिक फीचर्स को सक्षम करके शक्तिशाली बन जाता है:

# अनस्टेज्ड (*) और स्टेज्ड (+) बदलाव दिखाएं
export GIT_PS1_SHOWDIRTYSTATE=1

# स्टैश्ड बदलाव ($) दिखाएं
export GIT_PS1_SHOWSTASHSTATE=1

# अनट्रैक्ड फाइलें (%) दिखाएं
export GIT_PS1_SHOWUNTRACKEDFILES=1

# HEAD और अपस्ट्रीम के बीच अंतर दिखाएं
# विकल्प: auto, verbose, name, legacy, git, svn
export GIT_PS1_SHOWUPSTREAM="auto"

# कलर हिंट्स सक्षम करें (बैश 4.0+ की आवश्यकता है)
export GIT_PS1_SHOWCOLORHINTS=1

# रिपॉजिटरी स्टेट ऑपरेशन्स के दौरान दिखाएं
# (MERGING, REBASING, BISECTING, आदि)
export GIT_PS1_DESCRIBE_STYLE="default"

इंडिकेटर्स का मतलब है:

  • * - अनस्टेज्ड बदलाव (मॉडिफाइड फाइलें जो एडेड नहीं की गई हैं)
  • + - स्टेज्ड बदलाव (फाइलें जो एडेड की गई हैं लेकिन कमिट नहीं की गई हैं)
  • $ - स्टैश्ड बदलाव मौजूद हैं
  • % - अनट्रैक्ड फाइलें मौजूद हैं
  • < - अपस्ट्रीम ब्रांच से पीछे हैं
  • > - अपस्ट्रीम ब्रांच से आगे हैं
  • <> - अपस्ट्रीम से डाइवर्ज्ड हैं
  • = - अपस्ट्रीम के बराबर हैं

पूर्ण उदाहरण कॉन्फ़िगरेशन

यहाँ एक व्यापक ~/.bashrc कॉन्फ़िगरेशन है:

# git-prompt स्रोत बनाएं
if [ -f /usr/share/git-core/contrib/completion/git-prompt.sh ]; then
    source /usr/share/git-core/contrib/completion/git-prompt.sh
fi

# git-prompt विकल्प कॉन्फ़िगर करें
export GIT_PS1_SHOWDIRTYSTATE=1
export GIT_PS1_SHOWSTASHSTATE=1
export GIT_PS1_SHOWUNTRACKEDFILES=1
export GIT_PS1_SHOWUPSTREAM="auto"
export GIT_PS1_SHOWCOLORHINTS=1

# कलर परिभाषाएं
COLOR_RESET='\[\033[00m\]'
COLOR_USER='\[\033[01;32m\]'      # हरा
COLOR_PATH='\[\033[01;34m\]'      # नीला
COLOR_GIT='\[\033[01;33m\]'       # पीला

# प्रॉम्प्ट सेट करें
PS1="${COLOR_USER}\u@\h${COLOR_RESET}:${COLOR_PATH}\w${COLOR_GIT}"'$(__git_ps1 " (%s)")'"${COLOR_RESET}\$ "

विधि 2: मैनुअल गिट कमांड सब्सटिट्यूशन

अगर आपके पास git-prompt.sh तक पहुंच नहीं है या आप एक मिनिमल समाधान चाहते हैं, तो आप अपने प्रॉम्प्ट में सीधे गिट कमांड्स चला सकते हैं:

# केवल ब्रांच नाम सरल
PS1='\u@\h:\w$(git branch 2>/dev/null | grep "^*" | colrm 1 2 | sed "s/^/ (/;s/$/)/")\$ '

# ब्रांच नाम स्टेटस इंडिकेटर के साथ
parse_git_dirty() {
    [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit, working tree clean" ]] && echo "*"
}

parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/ (\1$(parse_git_dirty))/"
}

PS1='\u@\h:\w\[\033[01;33m\]$(parse_git_branch)\[\033[00m\]\$ '

इस दृष्टिकोण में git-prompt.sh की जटिलता नहीं है और बड़े रिपॉजिटरी में धीमा हो सकता है।

विधि 3: आधुनिक प्रॉम्प्ट टूल्स

एक समृद्ध अनुभव के लिए न्यूनतम कॉन्फ़िगरेशन के साथ, इन आधुनिक विकल्पों पर विचार करें:

स्टारशिप प्रॉम्प्ट

स्टारशिप एक तेज़, अनुकूलनीय प्रॉम्प्ट है जो रस्ट में लिखा गया है और यह कई शेल्स (बैश, ज़ीएसएच, फिश, पावरशेल) के साथ काम करता है।

# स्टारशिप इंस्टॉल करें
curl -sS https://starship.rs/install.sh | sh

# ~/.bashrc में जोड़ें
eval "$(starship init bash)"

स्टारशिप स्वचालित रूप से गिट रिपॉजिटरीज़ का पता लगाता है और प्रदर्शित करता है:

  • ब्रांच नाम
  • डिटैच्ड स्थिति में कमिट हैश
  • रिपॉजिटरी स्टेट (मर्ज, रीबेस, आदि)
  • संशोधित फाइलों की संख्या
  • अपस्ट्रीम स्टेटस के आगे/पीछे
  • और बहुत कुछ अनुकूलनीय आइकन्स के साथ

इसे ~/.config/starship.toml के माध्यम से कॉन्फ़िगर करें:

[git_branch]
symbol = "🌱 "
format = "on [$symbol$branch]($style) "

[git_status]
conflicted = "🏳"
ahead = "⇡${count}"
behind = "⇣${count}"
diverged = "⇕⇡${ahead_count}⇣${behind_count}"
untracked = "🤷"
stashed = "📦"
modified = "📝"
staged = '[++\($count\)](green)'
renamed = "👅"
deleted = "🗑"

ओह माई बैश

ओह माई बैश एक फ्रेमवर्क है जो बैश कॉन्फ़िगरेशन को थीम्स और प्लगइन्स के साथ प्रबंधित करने के लिए है:

# ओह माई बैश इंस्टॉल करें
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"

# ~/.bashrc संपादित करें ताकि थीम सेट हो
OSH_THEME="powerline"

कई ओह माई बैश थीम्स में डिफ़ॉल्ट रूप से गिट इंटीग्रेशन शामिल है।

ओह माई पोश

ओह माई पोश एक आधुनिक, क्रॉस-प्लेटफ़ॉर्म प्रॉम्प्ट इंजन है जो बैश, ज़ीएसएच, पावरशेल, और अन्य शेल्स के साथ काम करता है। यह सुंदर, अनुकूलनीय प्रॉम्प्ट्स प्रदान करता है जिसमें उत्कृष्ट गिट इंटीग्रेशन है और यह आइकन समर्थन के लिए नर्ड फॉन्ट्स का उपयोग करता है।

लिनक्स पर इंस्टॉलेशन

एक कमांड के साथ ओह माई पोश इंस्टॉल करें:

# ~/bin या ~/.local/bin (डिफ़ॉल्ट) में इंस्टॉल करें
curl -s https://ohmyposh.dev/install.sh | bash -s

# या एक कस्टम इंस्टॉलेशन डायरेक्टरी निर्दिष्ट करें
curl -s https://ohmyposh.dev/install.sh | bash -s -- -d ~/bin

बेसिक सेटअप

अपने ~/.bashrc में ओह माई पोश जोड़ें:

# एक थीम के साथ ओह माई पोश इनीशियलाइज़ करें
eval "$(oh-my-posh init bash --config ~/.poshthemes/jandedobbeleer.omp.json)"

थीम्स इंस्टॉल करने और उपयोग करने का तरीका

ओह माई पोश में कई प्री-बिल्ट थीम्स शामिल हैं। पहले उन्हें डाउनलोड करें:

# थीम्स डायरेक्टरी बनाएं
mkdir ~/.poshthemes

# सभी थीम्स डाउनलोड करें
curl -s https://ohmyposh.dev/themes.json | \
  jq -r '.[] | .url' | \
  xargs -I {} sh -c 'curl -s {} -o ~/.poshthemes/$(basename {})'

लोकप्रिय थीम्स में शामिल हैं:

  • jandedobbeleer.omp.json - निर्माता का व्यक्तिगत थीम जिसमें पूर्ण गिट इंटीग्रेशन है
  • powerline.omp.json - क्लासिक पावरलाइन स्टाइल
  • atomic.omp.json - आवश्यक जानकारी के साथ मिनिमलिस्ट
  • night-owl.omp.json - विस्तृत गिट विवरणों के साथ रंगीन थीम

थीम्स बदलने के लिए कॉन्फ़िग पथ बदलें:

eval "$(oh-my-posh init bash --config ~/.poshthemes/atomic.omp.json)"

गिट फीचर्स

ओह माई पोश स्वचालित रूप से व्यापक गिट जानकारी प्रदर्शित करता है:

  • वर्तमान ब्रांच नाम
  • रिमोट के आगे/पीछे कमिट गिनती
  • वर्किंग डायरेक्टरी स्टेटस (साफ़/गंदा)
  • स्टैश गिनती
  • मर्ज/रीबेस स्टेटस
  • टैग जानकारी
  • डिटैच्ड HEAD स्टेटस में कमिट हैश

कस्टम कॉन्फ़िगरेशन

एक मौजूदा थीम को कॉपी करके एक कस्टम थीम बनाएं:

# एक थीम को स्टार्टिंग पॉइंट के रूप में कॉपी करें
cp ~/.poshthemes/jandedobbeleer.omp.json ~/.mytheme.omp.json

# अपनी थीम संपादित करें
nano ~/.mytheme.omp.json

# अपनी कस्टम थीम का उपयोग करें
eval "$(oh-my-posh init bash --config ~/.mytheme.omp.json)"

JSON में एक उदाहरण गिट सेगमेंट कॉन्फ़िगरेशन:

{
  "type": "git",
  "style": "powerline",
  "powerline_symbol": "",
  "foreground": "#193549",
  "background": "#fffb38",
  "background_templates": [
    "{{ if or (.Working.Changed) (.Staging.Changed) }}#FF9248{{ end }}",
    "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#ff4500{{ end }}",
    "{{ if gt .Ahead 0 }}#B388FF{{ end }}",
    "{{ if gt .Behind 0 }}#B388FF{{ end }}"
  ],
  "properties": {
    "fetch_status": true,
    "fetch_upstream_icon": true,
    "branch_icon": " ",
    "branch_max_length": 25,
    "truncate_symbol": "…"
  }
}

फॉन्ट आवश्यकताएं

ओह माई पोश नर्ड फॉन्ट्स के साथ सबसे अच्छा काम करता है आइकन समर्थन के लिए:

# एक नर्ड फॉन्ट डाउनलोड और इंस्टॉल करें (उदाहरण: फिराकोड)
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
curl -fLo "FiraCode Nerd Font.ttf" \
  https://github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/FiraCode/Regular/FiraCodeNerdFont-Regular.ttf
fc-cache -fv

फिर अपने टर्मिनल को नर्ड फॉन्ट का उपयोग करने के लिए कॉन्फ़िगर करें।

ओह माई पोश के फायदे

  • क्रॉस-प्लेटफ़ॉर्म: एक ही कॉन्फ़िगरेशन लिनक्स, मैकओएस, और विंडोज पर काम करता है
  • तेज़: प्रदर्शन के लिए गो में लिखा गया है
  • एक्सटेंसिबल: गिट, समय, पाथ, भाषाएं, क्लाउड प्रोवाइडर्स, आदि के लिए मॉड्यूलर सेगमेंट्स
  • रिच थीम्स: बड़े संग्रह में प्री-मेड थीम्स
  • एक्टिव डेवलपमेंट: नियमित अपडेट्स और सुधार
  • टर्मिनल एग्नोस्टिक: किसी भी ANSI-समर्थित टर्मिनल में काम करता है

बैश-गिट-प्रॉम्प्ट

एक डेडिकेटेड बैश प्रॉम्प्ट टूल जो गिट जानकारी पर केंद्रित है:

# रिपॉजिटरी क्लोन करें
git clone https://github.com/magicmonty/bash-git-prompt.git ~/.bash-git-prompt --depth=1

# ~/.bashrc में जोड़ें
if [ -f "$HOME/.bash-git-prompt/gitprompt.sh" ]; then
    GIT_PROMPT_ONLY_IN_REPO=1
    source $HOME/.bash-git-prompt/gitprompt.sh
fi

बड़े रिपॉजिटरीज़ में प्रदर्शन विचार

गिट स्टेटस ऑपरेशन्स बड़े रिपॉजिटरीज़ में धीमे हो सकते हैं। यहां ऑप्टिमाइज़ेशन रणनीतियां हैं:

महंगे फीचर्स को चयनात्मक रूप से निष्क्रिय करें

# .bashrc में, बड़े रिपॉजिटरीज़ के लिए शर्तों के आधार पर फीचर्स को निष्क्रिय करें
if [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
    repo_size=$(du -sh .git 2>/dev/null | cut -f1)
    # 100MB से अधिक रिपॉजिटरीज़ के लिए डर्टी स्टेट चेक निष्क्रिय करें
    if [[ "$repo_size" =~ ^[0-9]+M$ ]] && [ "${repo_size%M}" -gt 100 ]; then
        export GIT_PS1_SHOWDIRTYSTATE=0
    fi
fi

गिट कॉन्फ़िगरेशन ऑप्शन्स का उपयोग करें

गिट को स्टेटस चेक्स को ऑप्टिमाइज़ करने के लिए कॉन्फ़िगर करें:

# तेज़ स्टेटस चेक्स के लिए फाइलसिस्टम मॉनिटर इनेबल करें
git config core.fsmonitor true
git config core.untrackedCache true

# बहुत बड़े रिपॉजिटरीज़ के लिए, पार्शियल क्लोन्स पर विचार करें
git config core.commitGraph true
git config gc.writeCommitGraph true

विकल्प: एसिंक्रोनस प्रॉम्प्ट्स

स्टारशिप जैसे टूल्स एसिंक्रोनस ऑपरेशन्स का उपयोग करते हैं ताकि प्रॉम्प्ट लैग से बचा जा सके। प्रॉम्प्ट गिट जानकारी प्राप्त होने के बाद अपडेट होता है, बजाय इसके कि यह ब्लॉक करता है।

सामान्य समस्याओं का ट्रबलशूटिंग

प्रॉम्प्ट गिट जानकारी प्रदर्शित नहीं कर रहा है

  1. सत्यापित करें कि git-prompt.sh स्रोत है: अपने टर्मिनल में type __git_ps1 चलाएं। अगर यह “नॉट फाउंड” कहता है, तो स्क्रिप्ट लोड नहीं हुई है।
  2. फाइल अनुमतियां जांचें: सुनिश्चित करें कि git-prompt.sh पठनीय है: ls -l /path/to/git-prompt.sh
  3. सत्यापित करें कि आप एक गिट रिपॉजिटरी में हैं: git status चलाकर पुष्टि करें
  4. PS1 सिंटैक्स जांचें: सुनिश्चित करें कि $(__git_ps1) शामिल है और सही ढंग से क्वोटेड है

रंग प्रदर्शित नहीं हो रहे हैं

  1. एस्केप सीक्वेंस समस्याएं: PS1 में रंगों को \[ \] में लपेटना चाहिए ताकि लाइन व्रैप समस्याएं टाली जा सकें
  2. टर्मिनल समर्थन: सुनिश्चित करें कि आपका टर्मिनल ANSI रंगों का समर्थन करता है: echo -e "\033[31mRed Text\033[0m"
  3. रीसेट कोड्स: हमेशा रंग अनुक्रमों को रीसेट कोड \033[00m के साथ समाप्त करें

प्रॉम्प्ट लाइन व्रैप तोड़ रहा है

रंगों का उपयोग करते समय, नॉन-प्रिंटिंग एस्केप सीक्वेंस को \[ और \] में लपेटना चाहिए:

# गलत - लाइन व्रैप समस्याएं पैदा करता है
PS1="\033[32m\u\033[00m\$ "

# सही
PS1="\[\033[32m\]\u\[\033[00m\]\$ "

WSL या नेटवर्क ड्राइव्स में धीमा प्रॉम्प्ट

विंडोज नेटवर्क शेयर्स या WSL पर गिट ऑपरेशन्स धीमे हो सकते हैं:

# धीमी फाइलसिस्टम पर महंगे गिट-प्रॉम्प्ट फीचर्स निष्क्रिय करें
export GIT_PS1_SHOWDIRTYSTATE=0
export GIT_PS1_SHOWUNTRACKEDFILES=0

विंडोज ड्राइव्स पर रिपॉजिटरीज़ के लिए नेटिव विंडोज गिट बैश का उपयोग करने का विचार करें बजाय WSL का।

विकास वर्कफ़्लो के साथ एकीकरण

एक गिट-एवर प्रॉम्प्ट और अधिक शक्तिशाली बन जाता है जब इसे अन्य शेल सुधारों के साथ मिलाया जाता है:

गिट एलियासेस के लिए तेज़ नेविगेशन

अपने बढ़ाए गए प्रॉम्प्ट को उपयोगी गिट एलियासेस के साथ मिलाएं ताकि दक्षता अधिकतम हो। एक व्यापक सूची के लिए गिट कमांड्स और शॉर्टकट्स देखें हमारी GIT कमांड्स चीटशीट

# ~/.gitconfig या ~/.bashrc में जोड़ें
alias gs='git status'
alias gb='git branch'
alias gc='git checkout'
alias gp='git pull'
alias gpu='git push'

शर्तबद्ध प्रॉम्प्ट व्यवहार

# विभिन्न स्टेट्स के लिए अलग-अलग प्रॉम्प्ट रंग
__git_ps1_colorize() {
    local git_status="$(git status 2>/dev/null)"
    if [[ $git_status =~ "nothing to commit" ]]; then
        echo -e "\[\033[32m\]"  # साफ़ के लिए हरा
    else
        echo -e "\[\033[31m\]"  # गंदे के लिए लाल
    fi
}

PS1='\u@\h:\w$(__git_ps1_colorize)$(__git_ps1 " (%s)")\[\033[00m\]\$ '

टर्मिनल टाइटल बार एकीकरण

रिपॉजिटरी जानकारी के साथ टर्मिनल टाइटल अपडेट करें:

PROMPT_COMMAND='echo -ne "\033]0;${PWD##*/}$(__git_ps1 " [%s]")\007"'

सर्वोत्तम प्रथाएं और सिफारिशें

  1. पढ़ने योग्य रखें: अपने प्रॉम्प्ट को बहुत सारी जानकारी से भरा न करें
  2. रंगों का रणनीतिक उपयोग करें: अलग-अलग स्टेट्स (साफ़ बनाम गंदा) के लिए अलग-अलग रंग
  3. विभिन्न परिस्थितियों में परीक्षण करें: सुनिश्चित करें कि प्रॉम्प्ट सामान्य डायरेक्टरीज़, गिट रिपॉजिटरीज़, और गिट ऑपरेशन्स के दौरान काम करता है
  4. अपने कॉन्फ़िगरेशन का दस्तावेज़ीकरण करें: अपने .bashrc को टिप्पणी करें ताकि आप याद रख सकें कि प्रत्येक भाग क्या करता है
  5. अपने कॉन्फ़िगरेशन का बैकअप लें: अपने डॉटफाइल्स को एक गिट रिपॉजिटरी में वर्जन नियंत्रण में रखें। अगर आप खुद का गिट सर्वर चलाते हैं, तो एक हल्का स्व-होस्टेड विकल्प के रूप में Gitea सर्वर इंस्टॉल करने का पता लगाने का विचार करें
  6. अपने वर्कफ़्लो पर विचार करें: केवल उन फीचर्स को सक्षम करें जिन्हें आप वास्तव में आवश्यक मानते हैं
  7. जब संभव हो तो आधुनिक टूल्स का उपयोग करें: स्टारशिप और समान टूल्स अच्छी तरह से परीक्षण किए गए और प्रदर्शनकारी हैं

स्व-होस्टेड गिट समाधानों के लिए, Gitea बैकअप और रिस्टोर सीखें ताकि सुनिश्चित हो सके कि आपके रिपॉजिटरीज़ सुरक्षित हैं। अगर आप अपने गिट वर्कफ़्लो को स्वचालित करने में रुचि रखते हैं, तो GitHub Actions चीटशीट के लिए व्यापक CI/CD स्वचालन का पता लगाएं।

उपयोगी लिंक

अन्य उपयोगी लेख