গিট ডিফ বিভিন্ন রং ভুলভাবে প্রদর্শন করে


46

সমস্ত গিট কমান্ড থেকে রঙিন আউটপুট পেতে, আমি নিম্নলিখিতটি সেট করে রেখেছি:

git config --global color.ui true

তবে এটি এর জন্য একটি আউটপুট তৈরি করে git diff,git log

গিট ডিফ স্ক্রিনশট

যদিও কমান্ডগুলি ঠিক মতো git statusপ্রদর্শন করে

গিট স্ট্যাটাস স্ক্রিনশট

এটি কেবলমাত্র কয়েকটি আদেশে পালানো রঙের কোডগুলি কেন স্বীকৃতি দিচ্ছে না এবং আমি কীভাবে এটি সংশোধন করতে পারি?

আমি xterm-256colorওএস এক্স 10.8.2 এ আইটির্ম 2 (টার্মিনাল টাইপ ) এবং আমার শেল হিসাবে zsh ব্যবহার করছি

zsh --version
zsh 5.0.0 (x86_64-apple-darwin12.0.0)

git --version                                                                                                                      
git version 1.7.9.6 (Apple Git-31.1)

উত্তর:


65

আপনি পালানোর সিকোয়েন্সগুলি দেখছেন যা টার্মিনালটিকে অব্যাহতি চরিত্র হিসাবে প্রদর্শিত রঙ পরিবর্তন করতে বলেছে ESC, অন্যদিকে পছন্দসই আচরণটি হ'ল পালানোর ক্রমগুলি তাদের উদ্দেশ্যযুক্ত প্রভাব ফেলে।

লিখিত কমান্ডগুলো git diffএবং git logপাইপ হল তাদের আউটপুট পেজার , lessডিফল্টরূপে। গিট lessকন্ট্রোল অক্ষরগুলিকে তাদের নিয়ন্ত্রণের প্রভাব রাখতে দেয় বলে বলার চেষ্টা করে , তবে এটি আপনার পক্ষে কাজ করছে না।

যদি lessআপনার পেজার হয় তবে আপনার পরিবেশের পরিবর্তনশীল LESSএমন কোনও মান রয়েছে যা অন্তর্ভুক্ত নয় -rবা -R, গিট lessরঙ প্রদর্শন করতে বলতে অক্ষম । এটি সাধারণত পাস হয় তবে পরিবেশে ইতিমধ্যে সেট LESS=-FRSXথাকলেও LESSহয় না । ফিক্সটি হ'ল গিট দ্বারা আহ্বান করার সময় রঙগুলি প্রদর্শন -Rকরতে বলার জন্য স্পষ্টভাবে বিকল্পটি পাস করতে lessহয়:

git config --global core.pager 'less -R'

যদি lessআপনার পেজার না হন তবে হয় স্যুইচ করুন lessবা আপনার পেজারের ডিসপ্লে রঙ কীভাবে তৈরি করবেন তা নির্ধারণ করুন।

আপনি প্রদর্শন রঙের Git না চান তাহলে যখন এটি একটি পেজার invoking এর, সেট color.uiকরার autoপরিবর্তে true


আহ, ধন্যবাদ যদিও আমি জানতাম যে রঙগুলি প্রদর্শন করা lessপ্রয়োজন -R, আমি তা ভুলে গিয়েছিলাম git logএবং git diffআউটপুটটি পাইপ করেছি less। ধন্যবাদ :)

5
ধন্যবাদ! আমি লক্ষ্য করি নি যে ~/.profileফ্রিবিএসডি-তে ডিফল্টটি ছিলPAGER=more; export PAGER
জেফ্রি গোল্ডবার্গ

ধন্যবাদ। আমি LESSসেট -Kকরেছিলাম কারণ আমি CTRL-Cসবকিছুতে সক্ষম হতে পছন্দ করি। আমি ভেরিয়েবলের সাথে এটি মজাদার কিছু ভেবেছিলাম এবং এখন এটি ঠিক করতে জানি to
ট্রাইসিস

2

গিলসের উত্তরের উন্নতি করে আপনি নিজের পুরানো $LESSবিকল্পগুলি আপনার গিট কনফিগারেশনে এটি ব্যবহার করে রাখতে পারেন (উদাহরণস্বরূপ ~/.gitconfig):

[core]
pager = less -+$LESS -FRX

কোজগার এর উত্তর ভাল। আমি LESS=-iআমার bashrc, তাই আমি কি করতে হবে `[কোর] পেজার = কম $ কম -FR` আমি এক্স বের করে, কারণ এক্স সঙ্গে, আমার বর্তমান টার্মিনাল বিষয়বস্তুআপনি মুছতে, আমি টার্মিনাল বিষয়বস্তু থাকার বিষয়টি মতেই পছন্দ করে।
ওয়েইন ওয়াকার

1

আপনার যদি ব্যাসিবক্স থাকে তবে আপনি এই আউটপুটটিও দেখতে পাবেন । আলপাইন লিনাক্স এটি ব্যবহার করে এমন একটি জনপ্রিয় ডিস্ট্রোর একটি ভাল উদাহরণ। Https://wiki.lpinelinux.org/wiki/Alpine_Linux: FAQ# How_to_enable.2Ffix_colors_for_git.3F দেখুন

আপনি বর্তমানে ব্যস্তবক্স ব্যবহার করছেন কিনা তা জানার একটি সহজ উপায়:

realpath `which less`

অথবা আপনি যদি মাছের শেল ব্যবহার করেন

realpath (which less)

যদি আউটপুট হয় /bin/busybox, তবে আপনি কম gnu ইনস্টল করে আপনার সমস্যার সমাধান করতে পারেন ।

আলপাইন অন:

sudo apk --update add less

আপনার ডিস্ট্রো / প্যাকেজ পরিচালকের উপর নির্ভর করে কমান্ডটি ভিন্ন হবে be

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