ঘড়ি ব্যবহার করার সময় গিট রঙগুলি কেন উপস্থিত হয় না?


10

দৌড়ানোর সময় git status -sbআমি দেখতে পাই:

এখানে চিত্র বর্ণনা লিখুন

আমি watch(প্রোপস-এনজি ৩.৩.৩ থেকে) একটি সংগ্রহস্থল চাই। --colorবিকল্প রং রাখা অনুমিত হয়।


মজার বিষয়, এটি এর সাথে কাজ করে ls:

$ watch --color "ls --color"

দেখাচ্ছে:

এলএস থেকে আউটপুট


তবে gitরঙগুলি অদৃশ্য হয়ে যাওয়ার জন্য:

$ watch --color "git status -sb"

এখানে চিত্র বর্ণনা লিখুন


সুতরাং, কেন আউটপুট থেকে নয় তবে watchরঙগুলি দেখায় ?lsgit


সম্পর্কিত: stackoverflow.com/questions/3793126/...
jobin

@ জোবিন, ধন্যবাদ, আমি এই প্রশ্নটি পোস্ট করার আগে আমি সেই লিঙ্কটিতে আসলে মন্তব্য করেছি :)
ড্রু নোকস

উত্তর:


5

নিম্নলিখিত বিবৃতি সত্য:

  • watchএকটি নতুন শেল কমান্ড চালায় sh,।
  • .bashrcরঙগুলি সক্ষম করার lsমতো উপাধি ls --color=auto
  • shbashউপাধি উত্তরাধিকারী বা ব্যবহার করে না ।

সুতরাং যখন watchরান ls, এটি রং জিজ্ঞাসা করে না, এটি কেবল প্লেইন পুরানো সংস্করণ চলছে। আপনি watchএটিকে বিঘ্নিত করতে পারেন তবে ad যেমন আদিত্য বলেছে them এগুলি সঠিকভাবে প্রক্রিয়া করার জন্য আপনাকে রঙগুলি সক্ষম করতে হবে।

এর একটি কার্যকরী উদাহরণ lsহ'ল:

watch --color -- ls --color=always

আপনি যদি --colorদেখার জন্য পাস না করেন তবে আপনি একগুচ্ছ কুৎসিত রঙের কোডগুলি ইনলাইন দেখতে পাবেন।


ls --colorহিসাবে ব্যাখ্যা করা হয় ls --color=always

ls --color=auto ঘড়িতে রঙ মুদ্রণ করে না । এটি পরামর্শ দেয় যে এটি টার্মিনাল থেকেই রঙ সমর্থন সমর্থন করে।

আরও কারণের জন্য, আমরা যদি ঘড়ির শেলটিকে একটি আসল টার্মিনাল মনে করে তা পরীক্ষা করতে পারি :

$ bash -c '[[ -t 1 ]] && echo "real terminal"'
real terminal

$ watch -- "bash -c '[[ -t 1 ]] && echo "real terminal"'"
# ... nothing.

আমার সন্দেহ হয় যে কিছু অ্যাপ্লিকেশনগুলি সেগুলি (বা অনুরূপ) দিকে তাকিয়ে আছে তা জানাতে তাদের রঙগুলি চালু করা উচিত কিনা।


3
তবে ওপি জানতে চায় কেন git status -sbএটি কাজ করে না , যদিও এটি কাজ করে ls --color
जॉব

এইবার বুঝতে পারছি. তবে এর জন্য কোনও নাম নেই git। রঙকরণ হয় Git কনফিগারেশন মধ্যে সরাসরি সেট । সুতরাং এটি কোনও এলিয়াসিং ইস্যু বলে মনে হচ্ছে না।
ড্রয় নোকস

বিঙ্গো। আমি আমার রঙগুলি সেট করেছিলাম auto, আপনি যেমন সঠিকভাবে সুর করেছেন, রঙের আউটপুটটি এড়াতে গিট তৈরি করছে। alwaysপরিবর্তে ব্যবহার করা এই সমস্যার সমাধান করেছে। অনেক ধন্যবাদ!
ড্রউ নোকস

9

git রঙিন আউটপুট প্রদর্শিত হবে কিনা তা নির্ধারণ করতে একটি কনফিগারেশন মান ব্যবহার করে।

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

git config --global color.ui auto

এটি autoবিশ্বব্যাপী রঙিন সেটিং সেট করে । ইন autoমোড, Git নির্ধারণ করবে কিনা এটা, রঙ কোড পাঠিয়ে অলি প্রস্তাব করার পূর্বে একটি বাস্তব টার্মিনাল না।

আপনি এই গ্লোবাল মানটিকে বাধ্য করতে পারেন always, তবে এটি একটি বিশেষ কমান্ডে প্রয়োগ করা আরও ভাল ধারণা হতে পারে:

git -c color.status=always status -sb

সবগুলোকে একত্রে রাখ:

watch --color git -c color.status=always status -sb

0

যদি git( --color) এবং watch( -c) রং ব্যবহার করতে বলা হয় তবে এটি কাজ করে :

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