কিভাবে গিট ব্যাশ কমান্ড লাইন সমাপ্তি কনফিগার করবেন?


129

যেমন একটি তাজা উবুন্টু মেশিনে, আমি শুধু দৌড়ে sudo apt-get git, এবং কোন সমাপ্তির যখন টাইপিং যেমন আছে git check[tab]

আমি http://git-scm.com/docs তে কিছু খুঁজে পাইনি , তবে আইআইআরসি সমাপ্তি আজকাল গিট প্যাকেজে অন্তর্ভুক্ত করা হয়েছে এবং আমার বাশার্কে আমার ঠিক প্রবেশের দরকার আছে।


উবুন্টু যথার্থ (এবং ফেডোরা 17) এর বাক্সের বাইরে আমার জন্য কাজ করে।
যান্ত্রিক শামুক

2
আপনার এটি ডিফল্টরূপে আছে কিনা তা পরীক্ষা করতে আপনি চালাতে পারেন (cd ~ && exec cat .bashrc | grep completion)
অ্যাডারচক্স

উত্তর:


181

লিনাক্সে

বেশিরভাগ বিতরণে, গিট সমাপ্তির স্ক্রিপ্ট ইনস্টল করা হয় /etc/bash_completion.d/(বা /usr/share/bash-completion/completions/git) আপনি যখন গিট ইনস্টল করেন, গিথুব যাওয়ার দরকার নেই। আপনাকে কেবল এটি ব্যবহার করতে হবে - আপনার এই লাইনটি যুক্ত করুন .bashrc:

source /etc/bash_completion.d/git
# or
source /usr/share/bash-completion/completions/git

উবুন্টুর কয়েকটি সংস্করণে গিট স্বয়ংক্রিয়রূপটি ডিফল্টরূপে ভেঙে যেতে পারে, এই কমান্ডটি চালিয়ে পুনরায় ইনস্টল করা ঠিক করা উচিত:

sudo apt-get install git-core bash-completion

ম্যাকে

আপনি হোমব্রু বা ম্যাকপোর্টগুলি ব্যবহার করে গিট সমাপ্তি ইনস্টল করতে পারেন।

Homebrew

if $BASH_VERSION> 4: brew install bash-completion@2(আপডেট হওয়া সংস্করণ) 3.2.57 (1) রিলিজ সহ MacOS ডিফল্ট জাহাজ হিসাবে আপনার যে সংস্করণের বাশ রয়েছে তা বিশেষ যত্ন নিন lease

যোগ করুন .bash_profile:

  if [ -f /usr/local/share/bash-completion/bash_completion ]; then
    . /usr/local/share/bash-completion/bash_completion
  fi

বাশের পুরানো সংস্করণগুলির জন্য: brew install bash-completion

যোগ করুন .bash_profile:

[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion

MacPorts

sudo port install git +bash_completion

তারপরে এটি আপনার যুক্ত করুন .bash_profile:

if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
fi

এই গাইডে আরও তথ্য: বাশ গিট সমাপ্তি ইনস্টল করুন

নোট করুন যে সমস্ত ক্ষেত্রে আপনাকে পরিবর্তনগুলি কার্যকর করতে একটি নতুন শেল তৈরি করতে হবে (একটি নতুন টার্মিনাল ট্যাব / উইন্ডো খুলুন)।


1
বেশিরভাগ * নিক্স বাক্সগুলিতে (বিশেষত উবুন্টু) ইতিমধ্যে সেই ফাইলটি রয়েছে, তাই এটি কেবল আমার ব্যবহারকারীর কাছে উত্সাহিত করে আমার সমস্যাটি স্থির করে। ধন্যবাদ।
নেভভারমাইন্ড

5
উবুন্টু এটিতে /etc/bash_completion.d/git-prompt হিসাবে থাকতে পারে
ক্যাটস্কুল

2
আমার কাছে গিট আছে তবে /etc/bash_completion.d
ষাট4 বিট

13
আমার উবুন্টু 14.04 এ এই ফাইলটি /usr/share/bash-completion/completions/git/etc/bash_completion.d/git-promptগিট প্রম্পট সমর্থনের জন্য ব্যবহৃত হয়, সম্পূর্ণ করার জন্য নয়।
রায় চেন

18
সতর্কতা: দ্য ম্যাক homebrew পদ্ধতিটি কেবল কাজ করে আপনি Git ইনস্টল মাধ্যমে homebrew না আছে brew uninstall bash-completionতারপর brew install gitআপনি Git আগে কিছু অন্যান্য পদ্ধতি মাধ্যমে ইনস্টল করেছিলেন, তাহলে উপরোক্ত ধাপগুলি কাজ করবে।
patapouf_ai

66

আমার একই সমস্যা ছিল, নীচের পদক্ষেপগুলি অনুসরণ করা:

curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

তারপরে আপনার নিম্নোক্ত রেখাগুলি যুক্ত করুন .bash_profile(সাধারণত আপনার হোম ফোল্ডারের নীচে)

if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
fi

উত্স: http://code-worrier.com/blog/autocomplete-git/


আমি একটি প্রক্সিটির পিছনে ছিলাম তাই কার্লের কাজ করার জন্য export https_proxy=proxy_ip:proxy_portআমাকে প্রথমে প্রক্সি সেট করতে হয়েছিল আমি কেন সিস্টেম থেকে সেটিংস না পায় তা সত্যিই পাই না।
পাগলামি जुन

2
এটির নামের সামনে ডট করে সেই ফাইলটি আড়াল করার দরকার নেই। এছাড়াও: গিট সংস্করণগুলি সম্পর্কে সতর্কতা অবলম্বন করুন (উইসবাকির উত্তর দেখুন)
ওয়াল্টার ট্রস

42

আপনি দেখতে বেশিরভাগ নির্দেশনা আপনাকে ডাউনলোড করতে বলবে

https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash

এবং উত্স যা আপনার ব্যাশ স্টার্টআপ স্ক্রিপ্টে পছন্দ করে .bashrc

তবে এটির সাথে একটি সমস্যা রয়েছে, কারণ এটি masterশাখাটি উল্লেখ করছে যা এর সর্বশেষতম সংস্করণ git-completion.bash। সমস্যাটি হ'ল কখনও কখনও এটি ভেঙে যায় কারণ এটি আপনার ইনস্টল করা গিটের সংস্করণের সাথে সামঞ্জস্য নয়।

প্রকৃতপক্ষে, এখনই এটি ভেঙে যাবে কারণ masterশাখার git-completion.bashনতুন বৈশিষ্ট্য রয়েছে যার জন্য গিট ভি ২.১৮ রয়েছে, যা প্যাকেজ পরিচালক এবং ইনস্টলারগুলির কোনওটিই এখনও আপডেট হয়নি। আপনি একটি ত্রুটি পাবেনunknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config

সুতরাং সবচেয়ে নিরাপদ সমাধানটি আপনার ইনস্টলিত গিটটির সাথে মেলে এমন সংস্করণ / ট্যাগটি উল্লেখ করা। উদাহরণ স্বরূপ:

https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash

মনে রাখবেন এর v2.17.পরিবর্তে ইউআরএলটিতে এটি রয়েছে master। এবং তারপরে অবশ্যই অবশ্যই এটি নিশ্চিত করুন যে বাশ স্টার্টআপ স্ক্রিপ্টে।


এটি সেরা ম্যাকোস উত্তর।
এশেলি

বাহ ... এই সম্পর্কে আমার মস্তিষ্ককে ঘৃণা-বিরক্ত করার প্রায় এক ঘন্টা পরে, আপনার মন্তব্যটি মূল বিষয় ছিল। এই সমাধানের জন্য ধন্যবাদ! সোনালী!
মাইক কার্টার

4
ম্যাকোস সংস্করণ-নির্দিষ্ট ফাইলটি ইতিমধ্যে এখানে ডিস্কে থাকা উচিত: /Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bashনিরাপদ থাকার জন্য আমি গিথুবের ২.১17.১ সংস্করণটির সাথে এটি পৃথক করেছি এবং এটি মেলে।
jmt

18

উবুন্টু 14.10

ইনস্টল করুন git-coreএবংbash-completion

sudo apt-get install -y git-core bash-completion
  • বর্তমান সেশন ব্যবহারের জন্য

    source /usr/share/bash-completion/completions/git
  • সব সেশনে এটি সর্বদা চালু রাখা To

    echo "source /usr/share/bash-completion/completions/git" >> ~/.bashrc

1
ধন্যবাদ, উবুন্টু 16.04
এলটিএসে


5

আপনার এটিতে এটি করুন ~/.bashrc:

source /usr/share/bash-completion/completions/git

অন্যান্য উত্তরগুলি আপনাকে ইনস্টল করতে বলছে, আপনার এটি করার bash-completionদরকার নেই, তবে আপনি যদি তা করেন তবে সরাসরি সমাপ্তির উত্স দেওয়ার দরকার নেই। আপনি একটি বা অন্য না, উভয় না।

বাশ-সমাপ্তি প্রকল্পের প্রস্তাবিত হিসাবে আরও সাধারণ সমাধান হ'ল সিস্টেমের অবস্থানটি জিজ্ঞাসা করছে:

source "$(pkg-config --variable=completionsdir bash-completion)"/git

1
আপনার জেনেরিক সমাধান উবুন্টু 18.04 এ আমার জন্য পুরোপুরি কাজ করেছে। বুট করার জন্য, আপনার পদ্ধতিটি অত্যন্ত সংক্ষিপ্ত - ধন্যবাদ!
জেসন আর স্টিভেনস সিএফএ

4

আমার উবুন্টুতে এখানে একটি ফাইল ইনস্টল করা আছে:

source /etc/bash_completion.d/git-prompt

আপনি /usr/lib/git-coreফোল্ডারে লিঙ্কগুলি অনুসরণ করতে পারেন । আপনি সেখানে PS1 কীভাবে সেট আপ করবেন বা কীভাবে ব্যবহার করবেন সে সম্পর্কে একটি নির্দেশিকা খুঁজে পেতে পারেন__git_ps1


3

কারও জন্য সহায়ক হতে পারে: -

নিম্নলিখিত লিঙ্ক থেকে .git- সমাপ্তি.বাশ ডাউনলোড করার পরে,

curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

এবং __git_ps1 ফাংশনটি ব্যবহার করার চেষ্টা করার পরে আমি ত্রুটি পেয়ে যাচ্ছিলাম--

 -bash: __git_ps1: command not found

স্পষ্টতই আমাদের এই কমান্ডটি তৈরি করার জন্য মাস্টার থেকে আলাদা স্ক্রিপ্টগুলি ডাউনলোড করতে হবে, যেমন __git_ps1 git-prompt.sh এ সংজ্ঞায়িত করা হয়েছে। .Git- সমাপ্তি.বাশ ডাউনলোড করার মতোই, গিট-প্রম্পট.শ পান:

curl -L https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > ~/.bash_git

এবং তারপরে আপনার .bash_ প্রোফাইলে নিম্নলিখিতটি যুক্ত করুন

source ~/.bash_git
if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
export PS1='\W$(__git_ps1 "[%s]")>'
fi

উত্স। / .bash.git ডাউনলোড করা ফাইলটি কার্যকর করে এবং

export PS1='\W$(__git_ps1 "[%s]") কমান্ড চেকআউট আউট শাখার নাম বর্তমান কার্যকারী ডিরেক্টরি (যদি এটি একটি গিট সংগ্রহস্থল) পরে যুক্ত করবে।

সুতরাং এটির মতো দেখাবে: -

dir_Name[branch_name] যেখানে dir_Name হল কর্মরত ডিরেক্টরি নাম এবং শাখা_নামটি বর্তমানে আপনি যে শাখায় কাজ করছেন তার নাম হবে।

দয়া করে নোট করুন - __git_ps1 কেস সংবেদনশীল।


1

আর্চ লিনাক্স

/usr/share/git/completion/git-completion.bashবাশ স্টার্টআপ ফাইলগুলির মধ্যে একটিতে উত্স ।

উদাহরণ স্বরূপ:

# ~/.bashrc

source /usr/share/git/completion/git-completion.bash

আপনি অন্য জায়গায় যেমন স্ক্রিপ্টটি সন্ধান করতে পারেন /usr/share/bash-completion/completions/gitতবে এই স্ক্রিপ্টগুলি আমার পক্ষে কার্যকর হয়নি।


-1

উবুন্টু

এখানে একটি সুন্দর উত্তর আছে । উবুন্টু 16.04 এ আমার জন্য কাজ করেছেন

উইন্ডোজ

গিট বাশ হ'ল স্বয়ংক্রিয়-সমাপ্তির অনুমতি দেওয়ার সরঞ্জাম। নিশ্চিত না যে এটি স্ট্যান্ডার্ড বিতরণের অংশ কিনা তাই আপনি এই লিঙ্কটিও দরকারী খুঁজে পেতে পারেন । যাইহোক, গিট বাশ উইন্ডোতে কাজ করার জন্য লিনাক্স শেল কমান্ড ব্যবহার করতে দেয় যা জিএনইউ / লিনাক্স পরিবেশে অভিজ্ঞতা অর্জনকারীদের জন্য একটি দুর্দান্ত জিনিস।


-1

গিট প্রকল্পের গিথুব-এ, তারা স্বয়ংক্রিয়ভাবে গিট কমান্ডগুলিতে বাশ ফাইল সরবরাহ করে।

আপনার এটি হোম ডিরেক্টরিতে ডাউনলোড করা উচিত এবং আপনার এটি চালাতে বাশকে চাপ দেওয়া উচিত। এটি কেবলমাত্র দুটি পদক্ষেপ এবং নিচের ব্লগ পোস্টে পুরোপুরি ব্যাখ্যা করা হয়েছে (ধাপে ধাপে)।

কোড-উদ্ভাবক ব্লগ: স্বতঃসম্পূর্ণ-গিট /

আমি এটি ম্যাকের উপর পরীক্ষা করেছি, এটি অন্যান্য সিস্টেমেও কাজ করা উচিত। আপনি অন্যান্য অপারেটিং সিস্টেমে একই পদ্ধতির প্রয়োগ করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.