গিট মার্জেটুল অযাচিত .orig ফাইল উত্পন্ন করে


486

আমি যখন কেডিফ 3 (এবং আমি চেষ্টা করেছি এমন অন্যান্য মার্জ সরঞ্জাম) এর সাথে একত্রীকরণ বিরোধের সমাধান করি তখন আমি লক্ষ্য করেছি যে রেজোলিউশনে একটি *.origফাইল তৈরি করা হয়েছে is এটি অতিরিক্ত ফাইল তৈরি না করার জন্য কি কোনও উপায় আছে?

উত্তর:


769

এর একটি সম্ভাব্য সমাধান git config:

git config --global mergetool.keepBackup false

সংশ্লেষ সম্পাদন করার পরে, সংঘাতের চিহ্নিতকারীগুলির সাথে মূল ফাইলটি কোনও .origএক্সটেনশন সহ ফাইল হিসাবে সংরক্ষণ করা যায় ।
যদি এই ভেরিয়েবলটি সেট করা থাকে falseতবে এই ফাইলটি সংরক্ষণ করা হবে না।
ডিফল্ট true(অর্থাত ব্যাকআপ ফাইলগুলি রাখুন)।

এই gitguru নিবন্ধে পরামর্শ হিসাবে বিকল্প হিসাবে এই ফাইলগুলি যুক্ত বা উপেক্ষা করা হচ্ছে না ,

git mergetool" .orig" প্রত্যয় দিয়ে ফাইলটির মার্জ-সংঘাতের সংস্করণ সংরক্ষণ করে ।
সংযোজন এবং প্রতিশ্রুতিবদ্ধ করার আগে এটি মুছে ফেলার বিষয়ে নিশ্চিত হন বা *.origআপনার এতে যুক্ত করুন .gitignore

বারিক ব্যবহারের মন্তব্যে পরামর্শ দেয় :

find . -name \*.orig 
find . -name \*.orig -delete

চার্লস বেইলি তার উত্তরে অভ্যন্তরীণ ডিফ সরঞ্জাম সরঞ্জামগুলির সেটিং সম্পর্কে সচেতন হওয়ার পরামর্শ দেয় যা গিট সেটিংস যাই হোক না কেন, ব্যাকআপ ফাইলগুলি তৈরি করতে পারে।

  • kdiff3 এর নিজস্ব সেটিংস রয়েছে ( এর ম্যানুয়ালটিতে " ডিরেক্টরি একীকরণ" দেখুন )।
  • উইনমার্গের মতো অন্যান্য সরঞ্জামগুলির নিজস্ব ব্যাকআপ ফাইল এক্সটেনশন থাকতে পারে (উইনমার্গ: .bakযেমন এর ম্যানুয়ালটিতে উল্লিখিত হয়েছে )।

সুতরাং আপনার সেই সেটিংসটিও পুনরায় সেট করতে হবে।


7
@ সোফিস্টিফ্যাঙ্ক: ভাল পয়েন্ট। আমি সঠিক চিহ্নটি ব্যবহার করতে উত্তর সম্পাদনা করেছি।
ভোনসি

10
কেডিফ-এ সেটিংস সম্পাদনা করা নিজেই আমার পক্ষে কাজ করেছে: সেটিংস> কেডিফ 3 কনফিগার করুন> ডিরেক্টরি। "ব্যাকআপ ফাইলগুলি (.orig)" লেবেলযুক্ত বাক্সটি চেক করুন
কি.মি.দেব

2
git config --global mergetool.keepBackup false, ম্যাভেরিকস 10.9.2 এ পি 4 মার্জারের জন্য সমাধান হয়েছে। ধন্যবাদ :)
কেপিএসফু

1
@ স্যান্ডার আপনাকে ধন্যবাদ আমি লিঙ্কটি পুনরুদ্ধার করেছি।
ভোনসি

5
মনে রাখবেন যে, আপনি নিজে আপনার .gitconfig সম্পাদনা করছেন যদি, যদি আপনি চান keepBackup = falseঅধীনে [mergetool], অধীন নয় [mergetool "BeyondCompare4"]বা আপনার কনফিগার করা যাই হোক না কেন চাক্ষুষ একত্রীকরণ হাতিয়ার।
ট্রুয়েল উইল

85

ব্যবহার করে আপনি একটু সতর্ক হতে হবে kdiff3যেমন যখন git mergetoolএকটি সংরক্ষণ করতে কনফিগার করা যাবে .origমার্জ সময় ফাইল, জন্য ডিফল্ট আচরণ kdiff3একটি সংরক্ষণ করতে হয় .origস্বাধীনভাবে ব্যাকআপ ফাইল git mergetool

mergetoolব্যাকআপ বন্ধ রয়েছে তা আপনাকে নিশ্চিত করতে হবে :

git config --global mergetool.keepBackup false

এবং এছাড়াও যে কেডিফ 3 এর সেটিংস ব্যাকআপ তৈরি না করে সেট করা আছে:

Configure/Options => Directory Merge => Backup Files (*.orig)

4
Configure/Options => Directory Merge => Backup Files (*.orig)সত্যই সমস্ত অদ্ভুত আইও-স্লেভ, ক্লাউঞ্চার «» অজানা প্রোটোকল থেকে মুক্তি পেতে সহায়তা করেছিল এবং .রিগ ত্রুটিগুলি তৈরি করতে পারে নি। আপনাকে ধন্যবাদ
জেরেমিয়া

2
কেন git config --global mergetool.keepBackup falseসেট করতে হবে?
জেরেমিয়া

1
আমাকে আপনার প্রথম লাইনটি ঠিক করতে দিন "আপনাকে কেডিফ 3 ব্যবহার করতে একটু পাগল হতে হবে" - সেখানে :-)
টিম জার্ভিস

@ টিমজার্ভিস আমি সারা সময় কেডিফ 3 ব্যবহার করি এবং আমি এটি পছন্দ করি। আমি অবাক হয়েছি যদি এটি "কেডিফ 3 ব্যবহারের জন্য একটু পাগল" বলার কারণ আছে বা যদি এটি কেবল রসিকতা করছে (আমি স্মাইলি মুখটি দেখি, আমি কোনওভাবেই হতাশ হব না, আমি আন্তরিকভাবে জিজ্ঞাসা করছি)
কুইন উইলসন

35

পরিষ্কার হওয়ার জন্য, সঠিক গিট কমান্ডটি হ'ল:

git config --global mergetool.keepBackup false

অন্যান্য উত্তর দুটিরই কমান্ড লাইনে টাইপস রয়েছে যা এটি ব্যর্থ হতে পারে বা সঠিকভাবে কাজ না করে।


32

.Dig ফাইল সংরক্ষণের বিকল্পটি কেডিফ 3 কনফিগার করে অক্ষম করা যেতে পারে

কেডিফ 3 ব্যাকআপ ফাইল .orig বিকল্প


2
এটিই আসল সমাধান হওয়া উচিত।
গন্ডি

আমার জন্য কাজ কর. রিচার্ড-পিয়েরে আপনাকে অনেক ধন্যবাদ
অ্যান্ড্রু

আমি ইতিমধ্যে গ্লোবাল গিট কনফিগারেশনটি সঠিকভাবে সেট করে রেখেছিলাম তবে এখনও রিবেস / মার্জ ইত্যাদিতে সেগুলি .orig ফাইলগুলি ছিল The কেডিফ 3 সেটিংস শেষ পর্যন্ত কৌতুকটি করেছিল।
সিসিল ফেচেরল

25

আমি ".orig" এ শেষ হওয়া সমস্ত ফাইল পরিষ্কার করতে এটি ব্যবহার করি:

function git-clean-orig {
    git status -su | grep -e"\.orig$" | cut -f2 -d" " | xargs rm -r
}

আপনি যদি একটি ভয়ঙ্কর-বিড়াল হন :) আপনি শেষ অংশটি কেবল তাদের তালিকাতে ছেড়ে দিতে -rপারেন (বা প্রতিটি মুছার অনুমোদন দিতে চাইলে ছেড়ে দিন):

function git-show-orig {
    git status -su | grep -e"\.orig$" | cut -f2 -d" "
}

1
আপনি যদি এখনও প্রতিশ্রুতি দেওয়ার জন্য প্রস্তুত না হন আপনি অবধি ব্যাকআপগুলি চান তবে সম্পূর্ণ কার্যকর।
কেলি 16

5
আপনি যদি চারপাশে মার্জ ব্যাকআপ রাখেন তবে উপরের স্তরের .gitignore এ * .orig যোগ করতে পারেন।
ভিল

11

আমি কেবল কমান্ডটি ব্যবহার করি

git clean -n *.orig

আমি মুছে ফেলতে চাইছি কেবলমাত্র ফাইল তালিকাভুক্ত করা হয়েছে তা নিশ্চিত করতে চেক করুন

git clean -f *.orig

1
একটি ভাল টিপ! Gitconfig সেটিংস সম্পর্কিত অন্যান্য উত্তরগুলিও (অন্যান্য উত্তর থেকে) যুক্ত করলে ভাল হবে।
এজেপি

10

দীর্ঘমেয়াদী সমাধান হিসাবে প্রদত্ত সঠিক উত্তরগুলি ছাড়াও, আপনি git clean -fকমান্ডটি দিয়ে একবারে সমস্ত অপ্রয়োজনীয় ফাইল সরিয়ে ফেলার জন্য গিট ব্যবহার করতে পারেন তবে git clean --dry-runঅনিচ্ছাকৃত কিছু না ঘটে তা নিশ্চিত করার জন্য প্রথমে ব্যবহার করুন ।

এতে ফাইলগুলি অপসারণ করতে আপনার ওএস / শেল নির্দিষ্ট করে গিট ওভার স্ক্রিপ্টগুলিতে কার্যক্ষমতায় অন্তর্নিহিত পরীক্ষার ব্যবহারের সুবিধা রয়েছে।


4
হ্যাঁ, তবে খুব সাবধান থাকুন কারণ এই আদেশটি .orig ফাইলগুলি সরানোর চেয়ে আরও অনেক কিছু করে।
কেজিস্টি

4

বা শুধু যোগ করুন

* .orig

আপনার গ্লোবাল গিটিগনোর


3
git config --global mergetool.keepBackup false

এটিও তুলনা ছাড়িয়ে (মার্জারুল হিসাবে) কাজ করা উচিত


0

উইন্ডোজ:

  1. ফাইল Win/Users/HOME/.gitconfigসেটmergetool.keepTemporaries=false
  2. ফাইলটিতে git/libexec/git-core/git-mergetool, ফাংশনে অন্য ব্লকের মধ্যে cleanup_temp_files()যুক্ত করুন rm -rf -- "$MERGED.orig"

1
গৃহীত উত্তর দেখুন। এটি মূল সরঞ্জামগুলিকে সংশোধন করে এবং স্কেলযোগ্য নয়।
অলিগোফ্রেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.