গিট: ফাইল বাফার থেকে সরাসরি নির্বাচিত অঞ্চলটি মঞ্চস্থ করা কি সম্ভব?


14

Magit আপনি magit অবস্থা বাফার, প্রেস খুলতে পারে TABপরিবর্তন প্রসারিত করার (অথবা RET, একটি বড় দলা এবং সংবাদপত্রের চিহ্ন অংশের পৃথক পরিবর্তন বাফার আনতে) sবা uধাপে / unstage অঞ্চল। সত্যিই সুন্দর.

এটি সম্ভব কিনা তা আমি জানতে চাই:

  • একটি ফাইল সম্পাদনা করুন
  • ফাইল বাফারের ঠিক ভিতরেই একটি অঞ্চল, কুনু বা কয়েকটি কুনি নির্বাচন করুন
  • নির্বাচিত অঞ্চল বা বিন্দুর আশেপাশে পর্যায় / আনস্টেজ করুন

আপনি হাঙ্ক বনাম অঞ্চল সম্পর্কে কিছুটা বিভ্রান্ত বলে মনে হচ্ছে। আমি আপনাকে ম্যাজিট কী করে এবং আপনার প্রশ্নগুলির বর্ণনা সম্পাদনা করেছি। যদিও আপনি যা চেয়েছিলেন তা আমি সঠিকভাবে অনুমান করতে পারি নি।
তারসিয়াস

@ টারসিয়াস সম্ভবত আমি বিভ্রান্ত হয়ে পড়েছি, আমার জন্য একটি অঞ্চল আমি সবেমাত্র বাফারের অভ্যন্তরে নির্বাচন করেছি এবং কুঁচকী নির্বাচিত অঞ্চলটি মঞ্চের জন্য প্রস্তুত। আমি কি ভূল?
Nsukami _

2
"অঞ্চল" একটি ইম্যাক্স শব্দ, এটি পয়েন্ট এবং চিহ্নের মধ্যে জিনিস যা "নির্বাচন" " "হুঙ্ক" একটি গিট শব্দ, এটি যেমন "@@ -1,1 +1,1" দিয়ে শুরু হয় এবং পরবর্তী শিরোনামের ঠিক আগে শেষ হয় যা একটি নতুন কুঁড়ির সূচনা করে। ম্যাজিট বর্তমান বিভাগটিকে (যা একটি কুঁচকির অংশ হতে পারে) হাইলাইট করে একইভাবে ইম্যাক্স অঞ্চলটিকে সাধারণত হাইলাইট করে, যাতে এটি আপনার বিভ্রান্তিতে ভূমিকা রাখতে পারে।
তারসিয়াস

1
চৌম্বকীয় স্থিতি বা অদ্ভুত বাফারে আপনি কেবল কুঁচকে থাকা অবস্থায় যেখানেই থাকছেন না কেন নির্বিশেষে আপনি বর্তমান কুঁচকে মঞ্চস্থ করতে পারেন s। তবে আপনি এর অংশগুলি চিহ্নিত করে (ঠিক একইভাবে আপনি ফাইল-ভিজিটিং বাফারে এটি করতে পারেন) মঞ্চের ঠিক কিছু অংশ মঞ্চস্থ করতে পারেন এবং তারপরে ঠিক সেভাবে মঞ্চস্থ করতে পারেন।
তারসিয়াস

@ টারশিউস ঠিক আমার অর্থ, আমার ইংরাজী যথেষ্ট তীক্ষ্ণ নয়।
Nsukami _

উত্তর:


11

না, ম্যাজিট এটি সমর্থন করে না। ভবিষ্যতের সংস্করণ যদিও। গিট-গটার এখন এটি সমর্থন করে। কমান্ডটির নামকরণ করা হয়েছে git-gutter:stage-hunk


যদিও এটি একটি কুঁচকে মঞ্চস্থ করে, এটি কোনও অঞ্চলে মঞ্চস্থ হয় না।
ocodo

আমি একটি কুন্তী মঞ্চ তৈরি করার জন্য একটি বাঁধাই তৈরি করা সবচেয়ে ভাল, তারপরে আরেকটি পরের কুঁড়ে, মঞ্চে ও পুনরাবৃত্তি করার জন্য create একটি সম্পূর্ণ বাফার মঞ্চ করার একটি উপায়ও রয়েছে, তবে সেই সময়ে আপনি সম্ভবত কমান্ড লাইন থেকে এটি করছেন। গিট-গটার + ম্যাজিট দিয়ে ব্লক পর্যায়ে কমিট করা ভাল বলে মনে করি। বড় পরিবর্তনগুলি গিট-গটারের জন্য উপযুক্ত নয়।
Droogans

1

যেমন আগেই উল্লেখ করা হয়েছে, গিট-গটার হ'ল একটি এক্সটেনশন যা আপনাকে সরাসরি আপনার ফাইলে গিট সম্পর্কিত তথ্য দেখানোর জন্য ডিজাইন করা হয় এবং সেখান থেকে অপারেটিং করা হয়, যখন ম্যাজিট ডিফসগুলির উপর অপারেটিংয়ে ফোকাস করে।

এই বৈশিষ্ট্যটি শীঘ্রই গিট জলের জন্য কখনই পরিকল্পনা করা হয়নি ( https://github.com/syohex/emacs-git-gutter/issues/91 )

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

নিম্নলিখিত ইমাস লিস্প ফাংশনটি আপনার যা করা উচিত তা করা উচিত। আপনি এটি কিছু কীতে আবদ্ধ করতে চাইতে পারেন।

(defun my-git-stage-region ()
  (interactive)
  (let ((git-gutter:ask-p nil)
        (start (region-beginning))
        (end (region-end)))
    (save-excursion
      (goto-char start)
      (git-gutter:next-hunk 1)
      (while (< (point) end)
        (git-gutter:stage-hunk)
        ;; This is a hack to wait for git-gutter to finish
        ;; updating information (git-gutter kicks
        ;; of a process to update the diff information
        ;; and does not block)
        (while (get-buffer (git-gutter:diff-process-buffer (git-gutter:base-file)))
          (sit-for 0.05))
        (git-gutter:next-hunk 1)))))

দ্রষ্টব্য: এটি কুকুরটিকে বিভক্ত করতে পারে না, কুকুরগুলি পুরোপুরি মঞ্চস্থ হয় বা মোটেও মঞ্চস্থ হয় না। তবে গিট-গটারে তুলনামূলকভাবে ছোট কৃপণ থাকে যা আমি এই বৈশিষ্ট্যটি বাস্তবায়িত করেছি।
এট রিগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.