গিট মার্জটুলের ডিফল্ট সম্পাদক হিসাবে কীভাবে ভিজ্যুয়াল স্টুডিও কোডটি ব্যবহার করবেন


121

আজ আমি git mergetoolউইন্ডোজ কমান্ড প্রম্পটে অনটি ব্যবহার করার চেষ্টা করছিলাম এবং বুঝতে পেরেছিলাম যে এটি ভিম ব্যবহার করা ডিফল্ট ছিল , যা দুর্দান্ত, তবে আমি ভিএস কোডটি পছন্দ করব ।

গিটের জন্য মার্জ সংঘাতগুলি (বা এমনকি একটি পৃথক সরঞ্জাম হিসাবে) পরিচালনা করার জন্য আমি কীভাবে আমার ভিজুয়াল স্টুডিও কোড ফাংশন রাখতে পারি?

উত্তর:


240

ভিজ্যুয়াল স্টুডিও কোড হিসাবে 1.13 বেটার মার্জটি ভিজ্যুয়াল স্টুডিও কোডের মূলটিতে সংহত করা হয়েছিল।

তাদের একসাথে তারে যুক্ত করার উপায় হ'ল আপনার .gitconfigএবং আপনার কাছে দুটি বিকল্প রয়েছে

  1. কমান্ড লাইন এন্ট্রিগুলির সাথে এটি করতে, এগুলির প্রত্যেকটি প্রবেশ করান: (দ্রষ্টব্য: উইন্ডোজ গিট বাশ, ম্যাকোস এবং লিনাক্সের "সাথে প্রতিস্থাপন করুন যা 'ইজটোক ডেলফিন এবং e4rache দ্বারা স্পষ্ট করা হয়েছে)

    1. git config --global merge.tool vscode
    2. git config --global mergetool.vscode.cmd "code --wait $MERGED"
    3. git config --global diff.tool vscode
    4. git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
  2. .gitconfig ভিজ্যুয়াল স্টুডিও কোড সহ কিছু লাইন পেস্ট করে এটি করতে

    • git config --global core.editor "code --wait"কমান্ড লাইন থেকে চালান ।
    • এখান থেকে আপনি কমান্ডটি প্রবেশ করতে পারেন git config --global -e। আপনি নীচে "অতিরিক্ত ব্লক" কোডে পেস্ট করতে চাইবেন।

      [user]
          name = EricDJohnson
          email = cool-email@neat.org
      [gui]
          recentrepo = E:/src/gitlab/App-Custom/Some-App
      # Comment: You just added this via 'git config --global core.editor "code --wait"'
      [core]
          editor = code --wait
      # Comment: Start of "Extra Block"
      # Comment: This is to unlock Visual Studio Code as your Git diff and Git merge tool
      [merge]
          tool = vscode
      [mergetool "vscode"]
          cmd = code --wait $MERGED
      [diff]
          tool = vscode
      [difftool "vscode"]
          cmd = code --wait --diff $LOCAL $REMOTE
      # Comment: End of "Extra Block"
      

এখন আপনার গিট ডিরেক্টরিতে দ্বন্দ্ব চলার সাথে git mergetoolএবং তদাতে, আপনার ভিজ্যুয়াল স্টুডিও কোডটি আপনাকে মার্জ সংঘাত পরিচালনা করতে সহায়তা করে! ( ভিজ্যুয়াল স্টুডিও কোড বন্ধ করার আগে আপনার ফাইলটি সংরক্ষণ করার বিষয়টি নিশ্চিত করুন ))

ইনকামিং চেঞ্জ কাউকে গ্রহণ করবেন?

codeকমান্ড লাইন থেকে আরম্ভ করার বিষয়ে আরও পড়ার জন্য , এই ডকুমেন্টেশনটি দেখুন

এই ডকুমেন্টেশনgit mergetool চেক আউট আরও তথ্যের জন্য ।


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

3
আমি ত্রুটিটি unknown tool: vscodeপেয়েছি ... আপনার codeপরিবর্তে আপনার যে কমান্ড লাইনটি ব্যবহার করতে হবে তা থেকে ভিসকোড কল করতে আমি বেশ নিশ্চিতvscode
কলব ক্যানিয়ন

19
এছাড়াও, এটি আমার পক্ষে কাজ করছে না। এটি কেবল খোলা ভিএসকোডকে পপ করে এবং কোনও ফাইল আর কখনও আনেনি
কলব ক্যানিয়ন

1
আমি যা করতে চাই তা হ'ল "গিফ ডিফ্টল মাইব্র্যাঙ্ক মাস্টার" এবং পরিবর্তিত সমস্ত ফাইলের ডিফের সাথে ভিএস কোড খোলা আছে। এখনই, এটি কেবল একটি খুলবে এবং আপনার এটি বন্ধ করার জন্য অপেক্ষা করবে।
প্লাক

1
ওহ, হ্যাঁ, আমি এটি জানি, তবে এটির মতো নমনীয়তাটি আমি খুঁজছি যা দুটি কমিট বা দুটি শাখার মধ্যে পার্থক্য পেতে চাই। এবং যদি এটি হয়, বনাম কোডে গিট নেভিগেট করা আমার মতে বেশ ভয়ঙ্কর। আমি কেবল তাদের বিবিধ পছন্দ এবং ইউআই মার্জ করি। আমি গিয়েছিলাম এবং git difftool -dএকটি ডিরেক্টরি পৃথক জন্য দেখেছি । আমি আগামীকাল কিভাবে কাজ করব তা পরীক্ষা করব।
প্লাস

23

আমাকে সাধারণ উক্তিগুলির সাথে ডাবল উদ্ধৃতিগুলি প্রতিস্থাপন করতে হয়েছিল:

  git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'

এটি সঠিকভাবে কাজ করার জন্য (ডাবল উদ্ধৃতি সহ, values ​​স্থানীয় এবং $ REMOTE তাদের মান দ্বারা প্রতিস্থাপিত হয়)।

যদি আপনি উইন্ডোজ কমান্ড প্রম্পটের পরিবর্তে উইন্ডোজের জন্য গিট ব্যাশ ব্যবহার করেন তবে এটি প্রয়োজন ।


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

1
@ e4rache এবং @ ইজটক-ডেলফিন আপনি এখানে যা তালিকাবদ্ধ করেছেন তা সহায়ক সামগ্রী তবে আপনি ঘটনাক্রমে এটিকে একটি উত্তর দিয়েছেন, যখন এটি সত্যিই একটি মন্তব্য। আমি নিশ্চিত যে আপনি সমস্যার মধ্যে পড়েছেন কারণ আপনাকে মন্তব্য করার অনুমতি দেওয়ার জন্য এসও এর 50 টি পয়েন্ট আপনার কাছে নেই, যা কোনও ধরণের সাইট ওয়ার্ক প্রবাহ সমস্যা যা সম্ভবত খতিয়ে দেখা উচিত। যাইহোক, অবদানের জন্য ধন্যবাদ, এবং আমি আমার উত্তর উপর আপনার টিপ যোগ। যারা পরে এসেছেন এবং গিট বাশ ব্যবহার করছেন তাদের সহায়তা করার জন্য ধন্যবাদ:^)
এরিক ডি জনসন

@ এরিক-ডি-জনসন আমি সম্পূর্ণরূপে জবাবের পরিবর্তে কোনও মন্তব্য করা। (দুঃখিত, আমি এই সাইটে নতুন) এবং বিটিডব্লিউ আমি লিনাক্সে ব্যাশ ব্যবহার করছিলাম। এই মন্তব্যে কোনও মন্তব্যে ট্রান্সপোর্ট করার উপায় আছে কি?
e4rache

@ e4rache আমি এটিকে মন্তব্য করার কোনও উপায় জানি না, তবে সম্ভবত কোনও মডারেটর এটি দেখবেন এবং আমাদের কিছু টিপস (ইঙ্গিত, ইঙ্গিত) দেবেন। যদি আপনার 50 টি পয়েন্ট থাকে তবে আপনি গৃহীত উত্তরের বিষয়ে মন্তব্য করতে পারেন এবং এটি মুছে ফেলতে পারেন, তাই আপনি একবার টন পয়েন্ট সহ একটি এসও রক-স্টার হয়ে গেলে আপনি এখানে ফিরে আসতে পারেন এবং গৃহকর্ম যা আপনাকে খুশি করে এবং যা ফিরিয়ে আনতে পারে তা করতে পারেন do কীভাবে এটি শুরু হয়েছিল তার ভাল স্মৃতি।
এরিক ডি জনসন

1
@ মোমাদঘনেমি ভাল মতামত। আমি একক উদ্ধৃতি ( 'গুলি) ব্যবহারের কথা মনে রাখার জন্য এখনই ম্যাকোস এবং লিনাক্সের জন্য শীর্ষে ব্যাখ্যাটি আপডেট করেছি ।
এরিক ডি জনসন

2

যদি কেউ ভিজ্যুয়াল স্টুডিওতে এটি সমাধান করতে চান, তবে অন্য বিকল্পটি ভিজ্যুয়াল স্টুডিওর মাধ্যমে তা করবে: টিম এক্সপ্লোরার -> হোম আইকনটিতে ক্লিক করুন => সেটিংস বোতাম => গিট বিভাগটি প্রসারিত করুন>> গ্লোবাল সেটিংসে ক্লিক করুন

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


ভিজ্যুয়াল স্টুডিও ভিজ্যুয়াল স্টুডিও কোডের সমতুল্য নয়। এর মতো সেটিংস করার পদ্ধতিটি বেশ আলাদা। দেখুন stackoverflow.com/a/33798601 পার্থক্য
jwd630

1
@ jwd630 আমি জানি ভিএস কোড ভিএস এর চেয়ে আলাদা know আমার কাছে এই সমস্যাটি ভিএস-এ ছিল তবে এর কোনও সমাধান খুঁজে পেলাম না তবে কেউ যদি এই সমস্যাটি পরীক্ষা করে দেখছে তবে এটি পোস্ট করা ভাল। ডাউন-ভোট দেওয়ার দরকার নেই।
ড্যানিয়েল বি

2

উপরে চমৎকার বিদ্যমান উত্তর , আপনি যোগ করে একটি নতুন উইন্ডোতে বনাম কোড খুলে যাবে -nকমান্ড লাইন করতে।

সুতরাং আপনার git config --global --editচেহারা কিছু এই।

[merge]
        tool = vscode
[mergetool "vscode"]
        cmd = code -n --wait $MERGED
[diff]
        tool = vscode
[difftool "vscode"]
        cmd = code -n --wait --diff $LOCAL $REMOTE                                                    

1

ম্যানুয়ালটি ব্যবহার করে আপনি একটি আকর্ষণীয় যুক্তি খুঁজে পেতে পারেন:

git difftool --help 
-x <command>, --extcmd=<command>
       Specify a custom command for viewing diffs.  git-difftool ignores the configured defaults and runs $command $LOCAL $REMOTE when this option is specified.
       Additionally, $BASE is set in the environment.

এই তথ্য দিয়ে আপনি গিট কনফিগারেশন স্পর্শ না করে সহজেই নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

git difftool -x "code --wait --diff" 

অনুরূপ প্রশ্ন এখানে

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