গিট আউটপুট রঙিন কিভাবে?


255

গিটের জন্য আউটপুট রঙ করার কোনও উপায় আছে (বা কোনও আদেশ)?

বিবেচনা:

baller@Laptop:~/rails/spunky-monkey$ git status
# On branch new-message-types
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   app/models/message_type.rb
#
no changes added to commit (use "git add" and/or "git commit -a")
baller@Laptop:~/rails/spunky-monkey$ git add app/models

এবং

baller@Laptop:~/rails/spunky-monkey$ git status
# On branch new-message-types
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   app/models/message_type.rb
#

আউটপুটটি দেখতে একই রকম, তবে তথ্য সম্পূর্ণ আলাদা: ফাইলটি প্রতিরোধের জন্য স্টেজ থেকে অচিহ্নবদ্ধ থেকে চলে গেছে।

আউটপুট রঙিন করার উপায় আছে? উদাহরণস্বরূপ, অচিহ্নবদ্ধ থাকা ফাইলগুলি লাল, মঞ্চযুক্ত সবুজ?

বা এমনকি Changes not staged for commit:লাল এবং # Changes to be committed:সবুজ?

উবুন্টুতে কাজ করছেন।

সম্পাদনা করুন: এই উত্তর যা কাজ করে মহান পাওয়া Googling: git config --global --add color.ui true

যাইহোক, কমান্ড আউটপুটটিতে রঙ যুক্ত করার জন্য কি আরও সাধারণ সমাধান আছে?


1
আপনি এমন কিছু চান যা সমস্ত কমান্ড আউটপুটকে রঙ দেয়? কোন অংশটি রঙ করতে হবে তা কীভাবে জানবে?
মাইকেল মরোজেক

আমার ধারণা রেগেক্স ব্যবহার করে এটির কনফিগার করার কোনও উপায় ছিল কিনা: প্রতিটি রঙের একটি স্টার্ট রিজেক্স থাকতে পারে। এবং সমস্ত রঙ বন্ধ করার জন্য কোনও ডিফল্ট রঙের রেজেক্স থাকতে পারে। এবং, যদি "foo" পাঠ্য উপস্থিত হয়, তবে এটি একটি নির্দিষ্ট রঙে প্রদর্শিত করুন ...
বি সেভেন

উত্তর:


268

আপনি নীচের বিষয়বস্তুর সাথে [color]আপনার একটি বিভাগ তৈরি করতে পারেন~/.gitconfig

[color]
  diff = auto
  status = auto
  branch = auto
  interactive = auto
  ui = true
  pager = true

আপনি কীভাবে রঙিন করতে চান তা নিয়ন্ত্রণ করতে পারেন, উদাহরণস্বরূপ

[color "status"]
  added = green
  changed = red bold
  untracked = magenta bold

[color "branch"]
  remote = yellow

আমি আশা করি এটি আপনার শুরু হবে। এবং অবশ্যই, আপনার একটি টার্মিনাল প্রয়োজন যা রঙ সমর্থন করে।


14
আমি মনে করি এটি আপনার শীর্ষে গিট কনফিগারেশন - গ্লোবাল কালার.উই অটো (@ অ্যাভজেনির উত্তর) রাখার পক্ষে উপযুক্ত হবে ... আমি মনে করি এটি সম্ভবত বেশিরভাগ লোকেরা সন্ধান করছেন be আমি উভয়কেই উজ্জীবিত করেছি ... আমি কেবল বলছি, ইন্টারনেট এখানে আসার জন্যই, আমি মনে করি অনেক লোক কেবল সেই সাধারণ একটি লাইনার চান want তারা যদি এটি পায় তবে আরও ভাল, আপনার অতিরিক্ত ধার্মিকতা।
মিসৌথ

এটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে - [color "status"]আমি যে বিভাগটি যুক্ত করেছি তাতে branch = yellow
ওয়েইন ওয়ার্নার

3
আপনি প্রকল্পের .git / কনফিগারেশন ফাইলটিতে [বর্ণ] বিভাগটি যুক্ত করতে পারেন
andrej

: এবং আপনি শুধুমাত্র একটি Git কমান্ডের একটি একক আবাহন জন্য একটি কনফিগারেশন পরিবর্তনশীল সেট করতে পারেন stackoverflow.com/a/18304605/134044
NeilG

220

আপনি সম্ভবত ব্যবহার করতে চান

git config --global color.ui auto

autoঅংশ বলছেন যে Git শুধুমাত্র চেষ্টা করুন এবং টার্মিনাল এটি সমর্থন করে এমন রঙ ব্যবহার করা হবে, এবং যদি আপনি উদাহরণস্বরূপ একটি ফাইলে Git কমান্ড আউটপুট পুনর্নির্দেশ আপনি ANSI সিকোয়েন্স পাবেন না। এটিকে সেট করা trueঠিক একইরকম autoএবং গিট 1.8.4-র পরে এটিও ডিফল্ট।

color.uiএকটি মেটা কনফিগারেশন যে সব বিভিন্ন রয়েছে color.*কনফিগারেশনের Git কমান্ড দিয়ে পাওয়া যায়।

এটি গভীরতার সাথে ব্যাখ্যা করা হয়েছে git help config


বর্ণ.উইয়ের মধ্যে পার্থক্যটি ব্যাখ্যা করতে পারেন true(যা দেখায় auto) বনাম always? আমি ডকগুলি পড়েছি তবে আমি এখনও তফাতটি পাই না।
ছারভে

19
git config --global color.ui auto
git config --global color.branch auto
git config --global color.status auto

এফওয়াইআই, কেবল এটি গিট সংস্করণ 1.5.2.1 এর জন্য কাজ করেছে, অন্যের উত্তর দেয় নি।
অভীকজ

14

গৃহীত উত্তর সবচেয়ে সাধারণ সমাধান দেয়। যদি কোনও কারণে আপনাকে স্থায়ীভাবে কনফিগারেশন পরিবর্তন করতে না হয়, যা সমাধানটি করে, আপনি একক গিট কমান্ডের জন্য কনফিগারেশনটি ওভাররাইড করতে পারেন:

git -c color.ui=always <usual git command and options>

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

git -c color.ui=always status
git -c color.ui=always diff

পরীক্ষিত: গিট 2.4.6 এ সমর্থিত, গিট 1.7.1 এ সমর্থিত নয়


2
lessআমি যেমন ছিলাম তেমন পাইপিংয়ের সময় অন্য যে কেউ রঙ পেতে চেষ্টা করছে , আপনি lessরঙিন পালাবার অক্ষরগুলি টার্মিনালে দিয়ে যেতে পারেন less -R
xdmoore

এই বৈশিষ্ট্যটি কখন যুক্ত হয়েছিল?
ওন্দ্র Žižka

11
git config --global color.ui always
git config --global color.branch always
git config --global color.diff always
git config --global color.interactive always
git config --global color.status always
git config --global color.grep always
git config --global color.pager true
git config --global color.decorate always
git config --global color.showbranch always

1

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

উদাহরণ ~/.acoc.confজন্য git:

# git
[git/ae]
/.*(error:.*)/                                    red+bold
/.*(warning:.*)/                                  yellow
/.*(hint:.*)/                                     magenta
/.*(up-to-date).*/                                green+bold
/.*(nothing to commit).*/                         green
/^(\+.*)/                                         green
/^(-.*)/                                          red

.. যা alias git="acoc git"ভিতরে বরাবর সুন্দরভাবে কাজ করে .bash_profile


আপনি কি আপনার কনফিগারেশন শেয়ার করতে পারেন acoc?
গ্রেগ দুবিকি

এনভিএম, এটি লেখা সহজ ছিল। :) উত্তরে যুক্ত হয়েছে।
গ্রেগ দুবিকি

1

রঙিন git diffপাইপযুক্ত জন্য less, এটি কাজ করে:

git -c color.diff=always diff [...] | less -R

0

আমি জানি পোস্টটি চার বছরের পুরানো তবে আমার শিবির থেকে কেউ সাড়া দেয়নি, রঙ অন্ধ। আপনি যদি রঙগুলি আলাদা করতে পারেন তবে আমার পোস্টটিকে উপেক্ষা করুন।

উদাহরণস্বরূপ, "গিট স্ট্যাটাস" ব্যাকগ্রাউন্ডে সাদা / সাদা ব্যাকগ্রাউন্ডে কালো (স্পষ্টতই), মুছে ফেলার জন্য গা dark় ধূসর (একটি কালো পটভূমির বিরুদ্ধে অবজ্ঞাযোগ্য তবে একটি সাদা পটভূমির বিরুদ্ধে সুস্পষ্ট) এবং যোগ করার জন্য মাঝারি ধূসর (কালো রঙের উপর বার্লি লেগেইবল) রয়েছে পটভূমি, সাদা ব্যাকগ্রাউন্ডে আপত্তিজনক)। আমি আমার টার্মিনাল উইন্ডোটির পটভূমিটি সাদা / কালো থেকে / সাদা থেকে টগল করতাম যাতে আমি আপত্তিজনক লেখাটি পড়তে পারি। একটি সহজ সমাধান আরও:

 git status | more

এটি স্ট্যান্ডার্ড সাদা বা কালো ব্যাকগ্রাউন্ড টার্মিনাল উইন্ডোতে সমস্ত পাঠ্যকে স্পষ্ট করে তোলে।


1
আপনি ডিফল্ট ( color.ui = never) দ্বারা সবকিছুতে কোনও রঙ ছাড়াই সেট করতে কনফিগারটি পরিবর্তন করতে পারেন ।
দ্য হাট উইথ দ্য হাট

0

অথবা এর মাধ্যমে সমস্ত / বেশিরভাগ রঙিনকরণ বন্ধ করুন:

git config --global color.ui false
git config --global color.branch false
git config --global color.diff false
git config --global color.interactive false
git config --global color.status false
git config --global color.grep false
git config --global color.pager false
git config --global color.decorate false
git config --global color.showbranch false

ওপি ঘুরে না খুঁজছিলাম বন্ধ রং, বরং ঘুরিয়ে উপর রং। ওপিতে তিনি কীভাবে কীভাবে করবেন তা জানিয়েছিলেন gitএবং আরও বৈশ্বিক অর্থে এটি করার কিছু উপায় চান। যদি আপনি এই জাতীয় কোনও পদ্ধতি সম্পর্কে জানেন তবে দয়া করে এটি ব্যাখ্যা করতে আপনার উত্তর সম্পাদনা করুন।
জিপসি স্পেলওয়েভার

কখনও কখনও লোকেরা কিছু ঘনিষ্ঠভাবে সম্পর্কিত তবে কিছুটা আলাদা খুঁজছেন - তবে ডাউনভোটের জন্য ধন্যবাদ।
দ্য রাইলি

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