পেজার ব্যবহার করা থেকে আমি কীভাবে 'গিট ডিফার্ট' প্রতিরোধ করব?


637

ডিফল্টরূপে পেজার git diffব্যবহার করে এমন কমান্ড লাইন সুইচ এবং অন্যান্য আদেশগুলি পাস করার জন্য কি আছে less?

আমি জানি আমি এটি বিড়ালের কাছে পাইপ করতে পারি, তবে এটি সমস্ত সিনট্যাক্স হাইলাইটিং সরিয়ে দেয়।

আমি জানি আমি দ্বারা বিড়াল বিশ্বব্যাপী .gitconfig মধ্যে পেজার সেট করতে পারেন GITPAGER=cat(বা ওই জাতীয় কিছু); তবে আমি মাঝে মাঝে পেজার রাখতে চাই (ভিন্নতার আকারের উপর নির্ভর করে)।

তবে, আমি যদি একটি কমান্ড লাইন সুইচ পছন্দ করি তবে; এবং আমি ম্যান পৃষ্ঠাগুলিতে গিয়ে একটিও খুঁজে পাচ্ছি না।


16
দ্রষ্টব্য: core.pager 'less -+F -+X'এই বিকল্পগুলি অপসারণ করার আরও সাম্প্রতিকতম উপায়। দেখুন নিচের আমার উত্তর
ভনসি

"কম - + এফ - + এক্স" হ'ল বিরক্তিকর "... এড়িয়ে চলে ..." দীর্ঘ লগগুলিতে চিহ্নিতকারীদের অপসারণ করার জন্য যাদুবিদ্যার সেটিংস। এই বিকল্পগুলির জন্য আপনাকে অনেক ধন্যবাদ, আপনি আমার দিনটি বাঁচিয়েছেন!
গিলিয়াম পেরোট


ব্যবহারের সংশ্লিষ্ট প্রশ্ন দেখতে পাবেন lessGit সঙ্গে (এটা উপর নির্ভরশীল তারতম্য lessসংস্করণ): unix.stackexchange.com/questions/107315/...
Pierz

উত্তর:


688

--no-pagerগিট এটি পেজার ব্যবহার না করার জন্য বলবে। অপশনটি পাস করাতে এটি পৃষ্ঠাতে না -Fজানিয়ে lessদেবে যদি আউটপুট একক স্ক্রিনে ফিট করে।

ব্যবহার:

git --no-pager diff

মন্তব্যগুলি থেকে অন্যান্য বিকল্পের মধ্যে রয়েছে:

# Set an evaporating environment variable to use 'cat' for your pager
GIT_PAGER=cat git diff

# Tells 'less' not to paginate if less than a page
export LESS="-F -X $LESS"
# ...then Git as usual
git diff

3
ধন্যবাদ, আমি অনুমান করি যে আমি বাট - নন-পেজারকে .bashrc এ গিট করতে পারি, ঠিক?
লক্ষ্মণ প্রসাদ

42
বা GIT_PAGER বা PAGER এনভায়রনমেন্ট ভেরিয়েবল, বা core.pagerগিট কনফিগার ভেরিয়েবল ব্যবহার করুন।
জাকুব নরবস্কি

74
মনে রাখবেন যে আপনার কমান্ডের আগে আপনাকে অবশ্যই অ্যাড-পেজার যুক্ত করতে হবে , যেমন "গিট - নো-পেজার লগ - ফর্ম্যাট = ব্লাহ"
আনা বেটস

6
এছাড়াও, যদি আপনার টার্মিনালটি কম প্রস্থান করার পরে পর্দা সাফ করে দেয় তবে -Eআপনি ব্যবহারযোগ্য lessকরতে আপনার বিকল্পগুলিতে যুক্ত করতে চাইবেন -F
মগলগগুলি

9
মনে রাখবেন যদি আপনি অন্তর্ভুক্ত করতে চান --no-pagerউপনাম, আপনি এটি দিয়ে কমান্ড প্রিফিক্স এবং একটি ত্রুটি এড়ানো আছে, আপনি এটির মতো উপনাম করতে হবে: git config alias.foo '!git --no-pager foo'। কিছুটা বিভ্রান্তিকর। সহজভাবে aliasing '--no-pager foo'কাজ করবে না।
জিম স্টুয়ার্ট

270

পূর্ববর্তী উত্তর হিসাবে উল্লিখিত হয়েছে, বিষয়বস্তু এক স্ক্রিনের চেয়ে কম হলে -Fবিকল্পটি পাস করার lessকারণে এটি প্রস্থান করতে পারে। যাইহোক, এটি করার পরে, পর্দাটি পুনরায় সেট করা হয়েছে, এবং আপনি সামগ্রীটি না দেখে শেষ করছেন।

-Xবিকল্পটি আচরণ দূরে করে। সুতরাং, আমি সামগ্রীর পরিমাণের উপর ভিত্তি করে শর্তসাপেক্ষ পেজিং সক্ষম করতে নিম্নলিখিতটি ব্যবহার করি:

git config --global --replace-all core.pager "less -F -X"

46
দ্রষ্টব্য: আমাকে git config --global --add core.pager "less -F -X"গিট ব্যবহার করতে হয়েছিল, উপরেরটিটি 1.8.0.2কাজ করে নি।
ডগবার্ট

7
গ্রেট! এটি কেবল export LESS="-RFX".bashrc.zshrc
গিটের সাথেই

এই জন্য আপনাকে ধন্যবাদ; আমি এমন একটি বিকল্প দ্বারা জর্জরিত হয়েছি যাতে গিট আউটপুট থেকে প্রথম লাইনটি কেটে ফেলবে, এবং তার পরে সিঙ্ক থেকে বেরিয়ে আসবে যে এক লাইনের নীচে যেতে হবে এবং তারপরে একটি রেখা উপরে উঠলে সঠিকটির প্রথম লাইনটি শীর্ষে থাকবে, সঠিক আউটপুট থেকে তৃতীয় লাইন অনুসরণ করে। যাইহোক, এই বিকল্পটি উল্লেখ করে সমস্যার সমাধান হয়েছে। এত উদ্ভট।
টিম হার্পার

উইন্ডোজের উইন্ডোটি উইন্ডোজ উইন্ডোজ ব্যবহার করে (যা গ্রিনউড সফটওয়্যার দ্বারা নির্মিত কম ব্যবহার করে) আপনার প্রয়োজনীয় প্যারামিটারটি হ'ল
গ্যাভিন ওয়ার্ড

1
হ্যাঁ, আমি আমার উত্তরে যেমন ব্যাখ্যা করেছি, আমি পেজারটি শুরু হওয়ার আগে এবং বের হওয়ার আগে এবং পরে পর্দাটি রিসেট না করা পছন্দ করি, বিশেষত যদি এটি সমস্ত এক স্ক্রিনে ফিট করে, যা ঠিক তাই -Xহয়। আপনি যদি এটি পছন্দ না করেন তবে এটি ব্যবহার করবেন না। আমি এটি পছন্দ করি কারণ এইভাবে আমি আমার ইতিহাসে পূর্ববর্তী গিট কমান্ডগুলির ফলাফল দেখে আবার কমান্ডটি টাইপ না করেই গিট এসএএএএস-এর মতো জিনিসগুলি উল্লেখ করতে পারি। প্রত্যেকে তার নিজের নিজস্ব।
ইসহাক

168

ব্যবহার

git config --global core.pager cat

সমস্ত সংগ্রহস্থলের জন্য সমস্ত কমান্ডের জন্য পেজার থেকে মুক্তি পেতে।

pager.<cmd>পরিবর্তে সেটিংস ব্যবহার করে আপনি একক গিট সাবকম্যান্ডের পেজিংও অক্ষম করতে পারেন এবং core.pagerগিট সংগ্রহস্থল (বাদ দেওয়া --global) অনুযায়ী আপনার সেটিংস পরিবর্তন করতে পারেন ।

বিস্তারিত জানতে দেখুন man git-configএবং অনুসন্ধান pager.<cmd>করুন।


প্রশ্নটি কীভাবে পেজারকে পুরোপুরি অক্ষম করবেন তা নয় তবে গ্রেপ সাবকম্যান্ডের জন্য কীভাবে এটি অক্ষম করবেন। mtahmed এর উত্তর নিখুঁত।
তিলমানবাউমন

9
এটি হতে পারে বর্ধিত ব্যাখ্যাটি জিজ্ঞাসা করেছিল তবে এটিই আমি যা খুঁজছিলাম এবং এটি শীর্ষস্থানীয় গুগলের ফলাফলগুলির মধ্যে একটি ছিল তাই ধন্যবাদ @ জিেককিউ
ব্রায়ান এফ

70

ডকুমেন্টেশনের সাম্প্রতিক পরিবর্তনগুলি less("ডিফল্ট বিকল্পগুলি" FRSX) থাকার জন্য একটি ডিফল্ট বিকল্প অপসারণের একটি ভিন্ন উপায়ের কথা উল্লেখ করে ।

এই প্রশ্নের জন্য, এটি হবে (গিট 1.8+)

git config --global --replace-all core.pager 'less -+F -+X'

উদাহরণস্বরূপ, ডার্ক বেস্টার মন্তব্যগুলিতে পরামর্শ দিয়েছেন :

export LESS="$LESS -FRXK" 

যাতে আমি Ctrl-Cছাড়ার সাথে রঙিন আলাদা হয়ে যাই less

উইলসন এফ মন্তব্য এবং তার প্রশ্নের মধ্যে উল্লেখ করেছেন যে:

কম অনুভূমিক স্ক্রোলিং সমর্থন করে, তাই লাইনগুলি কেটে ফেলা হলে, কম-ছেড়ে-যদি-এক-স্ক্রিন অক্ষম করে যাতে ব্যবহারকারী এখনও কী কাটা হয়েছে তা দেখতে বামে টেক্সটটি স্ক্রোল করতে পারে।


" সর্বদা জন্য পেজার ব্যবহার করুনgit diff " (মন্তব্য দেখুন) এর মধ্যে চিত্রিত হিসাবে এই পরিবর্তনগুলি ইতিমধ্যে গিট 1.8.x এ দৃশ্যমান ছিল । তবে ডকুমেন্টেশনটি সবেমাত্র শব্দভেদ হয়েছে ( গিট 1.8.5 বা 1.9, Q4 2013 এর জন্য )।

গিট কমান্ড দ্বারা ব্যবহারের জন্য পাঠ্য প্রদর্শক (যেমন, 'কম')।
মান শেল দ্বারা ব্যাখ্যা করা বোঝানো হয়।

পছন্দের ক্রমটি হ'ল:

  • $GIT_PAGERএনভায়রনমেন্ট ভেরিয়েবল,
  • তারপরে core.pagerকনফিগারেশন,
  • তারপর $PAGER,
  • এবং তারপরে সংকলনের সময় নির্বাচিত ডিফল্ট (সাধারণত 'কম')।

যখন LESSপরিবেশের পরিবর্তনশীলটি সেট না করা হয়, তখন গিট এটিকে সেট করে FRSX
(যদি LESSপরিবেশের ভেরিয়েবল সেট করা থাকে, গিট এটিকে কোনও পরিবর্তন করে না)।

আপনি যদি গিটের ডিফল্ট সেটিংটি বেছে বেছে ওভাররাইড করতে চান তবে আপনি যেমন LESSসেট করতে পারেনcore.pagerless -+S
এটি গিট দ্বারা শেলকে দেওয়া হবে, এটি চূড়ান্ত কমান্ডটি অনুবাদ করবে LESS=FRSX less -+S। পরিবেশটি কমান্ডকে Sলম্বা রেখাগুলি কাটানোর বিকল্প নির্ধারণ করতে বলেছে তবে কমান্ড লাইনটি লম্বা রেখাগুলি ফোল্ড করতে ডিফল্টরূপে পুনরায় সেট করে।


নতুন ডকুমেন্টেশন শব্দের পিছনে কারণের জন্য 97d01f2a কমিট দেখুন :

কনফিগারেশন: core.pagerডকুমেন্টেশন পুনর্লিখন

পাঠ্যটিতে উল্লেখ করা হয়েছে core.pagerএবং GIT_PAGERসার্বিকভাবে অগ্রাধিকারের চিত্র না দিয়ে। git var(1) ডকুমেন্টেশন থেকে আরও ভাল বিবরণ ধার করুন ।

সিস্টেম-ব্যাপী, গ্লোবাল এবং প্রতি-সংগ্রহস্থল কনফিগারেশন ফাইলগুলিকে অনুমতি দেওয়ার জন্য প্রক্রিয়াটির ব্যবহার এই নির্দিষ্ট পরিবর্তনশীলের মধ্যে সীমাবদ্ধ নয়। অনুচ্ছেদটি পরিষ্কার করতে এটি সরান।

পরিবেশ পরিবর্তনশীল কীভাবে LESSগিটের ডিফল্ট মানকে সেট করা হয় এবং কীভাবে এটি বেছে বেছে কাস্টমাইজ করতে হয় সে অংশটি পুনরায় লেখুন ।


দ্রষ্টব্য: কমিট বি 327583 ( ম্যাটথিউ ময়moy , এপ্রিল 2014, গিট 2.0.x / 2.1, কিউ 3 2014 এর জন্য) এসটি ডিফল্টরূপে অপসারণ করবে:

পেজার: ডিফল্টরূপে S LESS থেকে 'এস' সরান

ডিফল্টরূপে, গিট ব্যবহারকারী দ্বারা সেট না $LESSকরা -FRSXথাকলে সেট করতে ব্যবহৃত হত $LESS। পতাকার আসলে গীত জন্য জানার জন্য ( এবং কখনও কখনও কম আউটপুট গীত পাইপ সংক্ষিপ্ত, এবং কারণ কারণ গীত পাইপ রঙ্গিন আউটপুট)। পতাকা (দীর্ঘ লাইন কাটতে), অন্য দিকে, গীত এর সাথে সম্পর্কিত নয় এবং ব্যবহারকারী পছন্দের ব্যাপার। গিটটি ব্যবহারকারীর ডিফল্ট পরিবর্তন করার সিদ্ধান্ত নিতে পারে না
FRXFXR
SLESS

আরও সুনির্দিষ্টভাবে, Sপতাকাটি ব্যবহারকারীদের ক্ষতি করে যারা একটি পেজারের মধ্যে অবিশ্বস্ত কোড পর্যালোচনা করে, যেহেতু প্যাচটি দেখতে থাকে:

-old code;
+new good code; [... lots of tabs ...] malicious code;

একরকম প্রদর্শিত হবে:

-old code;
+new good code;

যে ব্যবহারকারীরা পুরানো আচরণ পছন্দ করেন তারা এখনও -FRSXly কম পরিবেশের পরিবর্তনশীলকে সুস্পষ্টভাবে সেট করতে পারেন , বা কোর.প্যাজারটি ' less -S' এ সেট করতে পারেন ।

ডকুমেন্টেশন পড়বে:

পরিবেশ Sবিকল্প নির্ধারণ করে না তবে কমান্ড লাইনটি দীর্ঘ লাইনগুলি কেটে দেওয়ার নির্দেশ দেয়।
একইভাবে, সেট core.pagerকরার ফলে পরিবেশ দ্বারা নির্ধারিত বিকল্পটি কমান্ড-লাইন থেকে less -+Fনিষ্ক্রিয় করা হবে F, এর quit if one screenআচরণকে নিষ্ক্রিয় করা হবে less
এক বিশেষভাবে নির্দিষ্ট কমান্ড জন্য কিছু পতাকার সক্রিয় করতে পারেন: যেমন, সেটিং pager.blameকরার less -Sজন্য লাইন ছাঁটাই সম্ভব git blame


2
ধন্যবাদ ধন্যবাদ! আমি মাসের জন্য লম্বা লাইন কাটা গিট স্টপ করার উপায় খুঁজছি!
coredumperror

@ কোরডাম্পরর নোট: পরবর্তী গিট (২.০. এক্স বা ২.১) ডিফল্টরূপে লাইন কেটে দেবে না ! উপরে আমার সম্পাদিত উত্তর দেখুন।
ভোনসি

2
ধন্যবাদ। এটি আমাকে সনাক্ত করতে দিন যে আমি LESS = "ESS LESS -FRXK" রফতানি করতে চাই যাতে আমি কম থেকে সিআরটিএল-সি ছাড়ার সাথে রঙিন আলাদা হয়ে যাই।
ডার্ক বেস্টার

@ ডার্কবেস্টার আকর্ষণীয় পরামর্শ। আরও দৃশ্যমানতার জন্য আমি এটিকে উত্তরে অন্তর্ভুক্ত করেছি।
ভোনসি

1
@ উইলসনএফ আমি জানি না, তবে এটি একটি ভাল প্রশ্নের মতো মনে হচ্ছে: এটিকে এখানে রেখে, মন্তব্যে দাফন করার পরিবর্তে কেন এটি একটি প্রশ্ন করবেন না?
ভোনসি

58

আপনি বৈশ্বিক কনফিগারেশনের নির্দিষ্ট আউটপুটগুলির জন্য পেজারগুলি অক্ষম / সক্ষম করতে পারেন:

git config --global pager.diff false

অথবা কোর.পাগার বিকল্পটি সেট করতে, কেবল একটি খালি স্ট্রিং সরবরাহ করুন:

git config --global core.pager ''

এটি আপনার মতামত অনুসারে সেট করার চেয়ে আমার মতে এটি ভাল cat


গিট ১.৯ এ আমার জন্য এটি কাজ করেছিল ... অন্য সব কিছুই কার্যকর হয়নি।
জর্ডন বেডওয়েল

এটিই আমার জন্য কাজ করেছেনgit version 2.5.4 (Apple Git-61)
অ্যাশলে কুলম্যান

এটিই আমি চেয়েছিলাম কারণ অন্যান্য কমান্ডগুলি পেজারকে সম্পূর্ণরূপে নিষ্ক্রিয় করে, তবে এটি কেবলমাত্র একমাত্র উত্তর যা git diffএটি অন্য কমান্ডের জন্য কাজ করার সময় কেবলমাত্র অক্ষম করে
সিঙ্গলনেগেশন ইলিমিনেশন

এই লেখাটি হিসাবে ... উইন্ডোজ / পাওয়ারশেলে আমাকে নিজেই সম্পাদনা code "$($env:UserProfile)\.gitconfig"করতে pager = হয়েছিল এবং [core]সেটিংসের আওতায় যুক্ত করতে হয়েছিল । উত্তরটি আমার বর্তমান পাওয়ারশেল অধিবেশনটির জন্য কাজ করেছে তবে সেটিংসটি কোথাও সংরক্ষণ করে বলে মনে হচ্ছে না যাতে এটি পরবর্তী লঞ্চটিতে কার্যকর ছিল।
25:40

12

পাইপ করার সময় অক্ষম রঙ সম্পর্কিত:

--colorরঙটি অক্ষম করা এড়াতে ব্যবহার করুন ।

git diff --color | less -R

অথবা এটি বাধ্যতামূলকভাবে কনফিগার করুন (যেমন। Gitconfig):

[color]
        ui = on

git diff | less -R

রঙহীন সরঞ্জামগুলির জন্য, তারপরে ব্যবহার করুন:

git diff --no-color | some-primitive-tool

পরিবেশের পরিবর্তনশীল রফতানি করা LESS=-R(যেমন .bashrc) "কম" এ ডিফল্টরূপে রঙ সমর্থন চালু করে:

git diff | less


2
নোট করুন যে গিটটি পেজারটি কল LESSকরার FRSXসময় পরিবেশের পরিবর্তনশীল সেট করবে যদি এটি সেট না করে থাকে।
tobbez

10

এটি লিনাক্সের গিট সংস্করণ ২.১.৪ নিয়ে আমার জন্য কাজ করেছে:

git config --global --replace-all core.pager cat

এটি catপরিবর্তে গিট ব্যবহার করে lesscatকেবল diffকোনও পেজিং ছাড়াই আউটপুটটিকে স্ক্রিনে ফেলে দেয়।


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

3
@ নাথানটগি আমি ভেবেছিলাম এটি বেশ পরিষ্কার যে আমি জিজ্ঞাসা করা প্রশ্নের উত্তর দিচ্ছি। দেখে মনে হচ্ছে কিছু ব্যবহারকারী মজাদার জন্য সংক্ষিপ্ত উত্তরগুলি পতাকাঙ্কিত করে প্রায় দৌড়াতে চান। আমি কিছু লেখা যুক্ত করব।
jcoffland

7

আপনি পেজার.আলিয়াসের সাথে তার নিজস্ব পেজারের সাথে আলাদা করতে একটি উপনাম যুক্ত করতে পারেন, এর মতো:

[alias]
  dc = diff
  dsc = diff --staged
[pager]
  dc = cat
  dsc = cat

এটি রঙটি চালু রাখবে এবং 'গিট ডিসি'-তে ডাকা হলে পেজার হিসাবে' বিড়াল 'ব্যবহার করবে।

এছাড়াও, না করার জিনিসগুলি :

  • --no-pagerআপনার উপনাম ব্যবহার করুন। গিট (1.8.5.2, অ্যাপল গিট -48) অভিযোগ করবে যে আপনি পরিবেশ পরিবর্তন করার চেষ্টা করছেন।
  • !shবা সঙ্গে একটি শেল ব্যবহার করুন !git। এটি উপরের পরিবেশের ত্রুটিটিকে বাইপাস করবে, তবে এটি আপনার কার্যনির্বাহী ডিরেক্টরিটি (এই আদেশের উদ্দেশ্যে) শীর্ষ স্তরের গিট ডিরেক্টরিতে পুনরায় সেট করবে, সুতরাং স্থানীয় ফাইলে কোনও রেফারেন্স কাজ করবে না যদি আপনি ইতিমধ্যে একটি উপ-ডিরেক্টরিতে থাকেন তবে আপনার ভাণ্ডার

+1 এই কৌশলটি কার্যকর যখন আপনি কমিটের পরে নেভিগেট করতে চান git logতবে তা নয় git log --oneline। বিকল্পটি এবং এর সাথে pager.log = less -FXR +/^commit.*বিশেষ-কেসিং করার সময় ব্যবহার করুন । --onelinealias.l1 = log --onelinepager.l1 = less -FXR
ক্লাদিও

6

আমার মধ্যে এই কুঁচি আছে .gitconfigএবং এটি ঠিক কাজ করে বলে মনে হচ্ছে (উভয়রূপে এবং প্রদর্শনে অক্ষম):

[pager]
    diff = false
    show = false

4

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

git config --global --add alias.n '!git --no-pager'

অথবা [alias]~ / .gitconfig বিভাগে নিম্নলিখিতটি যুক্ত করুন :

n = !git --no-pager

এর অর্থ আপনি যে nকোনও গিট কমান্ডের জন্য পেজিং বন্ধ করতে উপসর্গটি ব্যবহার করতে পারেন , অর্থাত:

git n diff # Show the diff without pager
git n log -n 3 # Show the last three commits without pager
git n show v1.1 # Show information about a tag

2

দ্রুত এবং নোংরা স্ক্রিপ্টের জন্য আমি লিখেছিলাম, আমি এটি এইভাবে করেছি:

PAGER=cat git diff ...

$GIT_PAGERসেট করা থাকলে এটি কাজ করবে না । git --no-pagerএকই কিন্তু আরও নির্ভরযোগ্যভাবে।
ম্যাথিউ ময়

2

যেমনটি ম্যান গিটতে বলা হয়েছে , আপনি যে --no-pagerকোনও কমান্ড ব্যবহার করতে পারেন ।

আমি এটি ব্যবহার করে:

git --no-pager diff
git --no-pager log --oneline --graph --decorate --all -n 10

তারপরে দীর্ঘ কমান্ড ব্যবহার (এবং মনে রাখতে) এড়াতে একটি উপাধি ব্যবহার করুন।


2

উইন্ডোজ জন্য এটি:

git config --global core.pager ""

এটি gitসুপার বিরক্তিকর এক সহ সমস্ত কিছুর জন্য পেজিং বন্ধ করে দেবে git branch


লিনাক্স নিয়েও কাজ করে!
rustysys-dev

2

আপনি যদি ওহ-মাই- zsh ~/.oh-my-zsh/lib/misc.zshফাইলটিতে ব্যবহার করেন তবে এই লাইনে মন্তব্য করুন:

env_default 'LESS' '-R'

আরে, আমি মনে করি ওপি স্থায়ী বৈশ্বিক সমাধানের পরিবর্তে গিট ডিফার সাথে একক সময় ব্যবহার করতে একটি কমান্ড লাইন সুইচ রাখতে চেয়েছিল। এছাড়াও, ওহ-মাই-জেডএস সোর্স কোডটি সংশোধন করা কতটা ভাল হবে তা আমি জানি না, কারণ পরে ওহ-মাই-জেডএস আপডেট করা শক্ত হবে। আপনার .zshrc ফাইলে সেই ডিফল্ট মানটি সেট করা আরও ভাল।
কারি রসিনমিকি

1
ধন্যবাদ, আপনি ঠিক বলেছেন। যদি ওহ-মাই-জেডশ ব্যবহার করে এবং স্থায়ী বৈশ্বিক সমাধানের প্রয়োজন unset LESSহয় তবে .zshrc এর শেষে যুক্ত করতে পারেন ।
ধীর-বৃষ্টি

1

ডিফল্টরূপে গিটের ব্যবহার পেজার হিসাবে কম ব্যবহার করে। আমি সাধারণত বেশি পছন্দ করি, কারণ এটি প্রথম পৃষ্ঠাটি মুদ্রণ করবে এবং তারপরে আপনাকে সামগ্রীতে স্ক্রোল করার অনুমতি দেবে।

ততক্ষণে, কাজটি হয়ে গেলে সামগ্রী কনসোলে থাকবে। এটি সাধারণত সুবিধাজনক, কারণ আপনি প্রায়শই দেখার পরে বিষয়বস্তু দিয়ে কিছু করতে চান (উদাঃ কমিটিকে ইমেল করুন এবং তাকে বলুন যে তিনি তার শেষ প্রতিশ্রুতিতে একটি বাগ প্রবর্তন করেছিলেন)।

তারপরে আপনি যদি সামগ্রীটি পাইপ করতে চান তবে সবকিছু মুদ্রণ করতে স্ক্রোল করা অসুবিধে হবে। আরও ভাল জিনিস হ'ল আপনি এটি পাইপলাইনের সাথে একত্রিত করতে সক্ষম হবেন এবং এটি সমস্ত কিছুর মাধ্যমে পাইপ করবে, যেমন।

# Find the commit abcdef123 in the full commit history and read author and commit message
git log |grep -C 5 'abcdef123'

মূলত আপনার যা যা প্রয়োজন তা এখন আরও বেশি, আপনি না চাইলে সামগ্রীটি কনসোলে থাকা অবস্থায় হয়ে যায়। পরিবর্তে আরও ব্যবহার করতে, নীচের মতো করুন।

git config --global core.pager 'more'

0
git -P diff

বা --no-pager

বিটিডাব্লু: বিড়ালের সাথে রঙ সংরক্ষণ করা

git diff --color=always | cat

0

কেবল নীচের নির্দেশাবলী অনুসরণ করুন।

  1. শুধু vi ~/.gitconfigআপনার টার্মিনাল টাইপ করুন।
  2. LESS="-F -X $LESS"লাইন আটকে দিন ।
  3. টিপুন :wqএবং প্রবেশ করুন।
  4. আপনার টার্মিনালটি পুনরায় চালু করুন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.