git-merge-changelog - ক্লাউডে অনলাইন

এটি হল git-merge-changelog কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


git-merge-changelog - GNU ChangeLog ফাইলের জন্য git merge ড্রাইভার

বর্ণনাঃ


'গিট'-এর ডিফল্ট মার্জ ড্রাইভার সর্বদা পাবলিক টানার সময় দ্বন্দ্ব তৈরি করে
একটি ব্যক্তিগতভাবে পরিবর্তিত চেঞ্জলগ ফাইলে পরিবর্তন। এর কারণ হল চেঞ্জলগ ফাইল
সর্বদা শীর্ষে সংশোধন করা হয়; ডিফল্ট মার্জ ড্রাইভারের কোন ধারণা নেই কিভাবে মোকাবেলা করতে হয়
এই. তদ্ব্যতীত দ্বন্দ্বগুলিকে <<<< ====>>>> এর চেয়ে বেশি মার্কার দিয়ে উপস্থাপন করা হয়
প্রয়োজনীয় কারণ ডিফল্ট মার্জ ড্রাইভারটি দেখার জন্য অর্থহীন প্রচেষ্টা করে
চেঞ্জলগ এন্ট্রির ভিতরে পৃথক লাইন পরিবর্তন হয়।

এই প্রোগ্রামটি একটি 'গিট' মার্জ ড্রাইভার হিসাবে কাজ করে যা এই সমস্যাগুলি এড়ায়।

1. যখন চেঞ্জলগ এন্ট্রিগুলি উভয়ের উপরে ঢোকানো হয় তখন এটি কোনও দ্বন্দ্ব তৈরি করে না
পাবলিক এবং ব্যক্তিগত পরিবর্তন. এটি উপরে ব্যক্তিগতভাবে যোগ করা এন্ট্রি রাখে
সর্বজনীনভাবে যোগ করা এন্ট্রি।

2. এটি চেঞ্জলগ ফাইলের গঠনকে সম্মান করে: এন্ট্রিগুলি লাইনে বিভক্ত নয় কিন্তু
একসাথে রাখা

3. এটি অতীতের চেঞ্জলগ এন্ট্রি বা এর ছোট পরিবর্তনের ক্ষেত্রেও পরিচালনা করে
চেঞ্জলগ এন্ট্রিগুলি সরানো হয়েছে: সেগুলিকে একত্রিত করা হয়েছে যেমনটি কেউ এটি আশা করবে৷

4. দ্বন্দ্ব ফাইলের শীর্ষে উপস্থাপিত হয়, যেখানে তারা ঘটেছে, তাই
ব্যবহারকারী অবিলম্বে তাদের দেখতে পাবেন। (কিছুতে লেখা সোর্স কোডের বিপরীতে
প্রোগ্রামিং ভাষা, দ্বন্দ্ব চিহ্নিতকারী যা থেকে কয়েক শত লাইন অবস্থিত
শীর্ষ কোনো সিনট্যাক্স ত্রুটি সৃষ্টি করবে না এবং তাই থাকার সম্ভাবনা থাকবে
অলক্ষিত।)

জন্য ফালতু বা এলেবেলে লোক ব্যবহারকারী:
- চেকআউটের .git/config এ যোগ করুন (বা আপনার $HOME/.gitconfig) লাইনগুলি

[একত্রীকরণ "একত্রীকরণ-পরিবর্তন"]
নাম = GNU-স্টাইল চেঞ্জলগ মার্জ ড্রাইভার
ড্রাইভার = /usr/bin/git-merge-changelog %O %A %B

- চেঞ্জলগ ফাইল রয়েছে এমন প্রতিটি ডিরেক্টরিতে '.gitattributes' ফাইল যুক্ত করুন
এই লাইন:

চেঞ্জলগ মার্জ=মার্জ-চেঞ্জলগ

(আরও তথ্যের জন্য "মানুষ 5 গিট্যাট্রিবিউটস" দেখুন।)

জন্য bzr ব্যবহারকারী:
- এ তালিকাভুক্ত 'এক্সটমার্জ' বিজেআর প্লাগ-ইন ইনস্টল করুন
<http://doc.bazaar.canonical.com/plugins/en/index.html>
<http://wiki.bazaar.canonical.com/BzrPlugins>

- আপনার $HOME/.bazaar/bazaar.conf লাইনে যোগ করুন

external_merge = git-merge-changelog %b %T %o

- তারপর, একটি চেঞ্জলগ ফাইলে একটি বিরোধ মার্জ করতে, ব্যবহার করুন

$ bzr extmerge ChangeLog

জন্য hg ব্যবহারকারী:
- আপনার $HOME/.hgrc লাইন যোগ করুন

[একত্রীকরণ-নিদর্শন]
চেঞ্জলগ = git-merge-changelog

[একত্রীকরণ-সরঞ্জাম]
git-merge-changelog.executable = /usr/bin/git-merge-changelog
git-merge-changelog.args = $base $local $other

দেখাhttp://www.selenic.com/mercurial/hgrc.5.html> বিভাগ মার্জ-সরঞ্জাম রেফারেন্স জন্য

ব্যবহার as an বিকল্প থেকে 'diff3':
git-merge-changelog "diff3 -m" এর মতো একই ভূমিকা পালন করে, শুধুমাত্র পুনর্বিন্যাস করা আর্গুমেন্টের সাথে:

$ git-merge-changelog %O %A %B

তুলনাযোগ্য

$ diff3 -m %A %O %B

কল করা হচ্ছে সম্মেলন:
একটি মার্জ ড্রাইভারকে তিনটি ফাইলের নাম আর্গুমেন্ট দিয়ে ডাকা হয়:

1. %O = %A এবং %B এর সাধারণ পূর্বপুরুষ।

2. %A = "বর্তমান শাখা" থেকে ফাইলের বিষয়বস্তু।

3. %B = "অন্য শাখা" থেকে ফাইলের বিষয়বস্তু; এই বিষয়বস্তু মার্জ করা হচ্ছে
মধ্যে.

একটি "গিট স্ট্যাশ প্রয়োগ" বা আপস্ট্রিম টানের ক্ষেত্রে (যেমন একটি সাবসিস্টেম রক্ষণাবেক্ষণকারী থেকে
একটি কেন্দ্রীয় রক্ষণাবেক্ষণকারী) অথবা --rebase সহ একটি ডাউনস্ট্রীম টান:

2. %A = ফাইলের নতুন টানা বিষয়বস্তু; অন্যান্য কমিটরদের দ্বারা পরিবর্তিত।

3. %B = ব্যবহারকারীর ফাইলের নতুন কপি; ব্যবহারকারী দ্বারা পরিবর্তিত।

একটি ডাউনস্ট্রিম টানের ক্ষেত্রে (যেমন একটি কেন্দ্রীয় সংগ্রহস্থল থেকে ব্যবহারকারীর কাছে) বা একটি
--rebase সহ আপস্ট্রিম টান:

2. %A = ব্যবহারকারীর ফাইলের নতুন কপি; ব্যবহারকারী দ্বারা পরিবর্তিত।

3. %B = ফাইলের নতুন টানা বিষয়বস্তু; অন্যান্য কমিটরদের দ্বারা পরিবর্তিত।

এটি তার মার্জড আউটপুট ফাইল %A এ লিখতে হবে। এটি stdout-এ কিছু মন্তব্যও প্রতিধ্বনিত করতে পারে।
যদি মার্জটি পরিষ্কারভাবে সমাধান করা যায় বা নন-জিরো দিয়ে তা রিটার্ন কোড 0 দিয়ে প্রস্থান করা উচিত
বিরোধ থাকলে কোড রিটার্ন করুন।

কিভাবে it কাজ করে:
একটি চেঞ্জলগ ফাইলের গঠন: এটি চেঞ্জলগ এন্ট্রি নিয়ে গঠিত। একটি চেঞ্জলগ এন্ট্রি
একটি ফাঁকা লাইন অনুসরণ করে একটি লাইনে শুরু হয় এবং এটি একটি নন-হোয়াইটস্পেস অক্ষর দিয়ে শুরু হয়,
অথবা একটি ফাইলের শুরুতে। মার্জ ড্রাইভার নিম্নরূপ কাজ করে: এটি তিনটি পড়ে
ফাইল মেমরিতে এবং চেঞ্জলগ এন্ট্রিতে বিচ্ছিন্ন করে। এটি তখন পার্থক্য খুঁজে পায়
%O এবং %B এর মধ্যে তারা হিসাবে শ্রেণীবদ্ধ করা হয়:

- অপসারণ (পরপর কিছু এন্ট্রি সরানো হয়েছে),

- পরিবর্তন (কিছু ধারাবাহিক এন্ট্রি সরানো হয়েছে, কিছু ধারাবাহিক এন্ট্রি যোগ করা হয়েছে),

- সংযোজন (কিছু ধারাবাহিক এন্ট্রি যোগ করা হয়েছে)।

ড্রাইভার তারপর %A-তে পরিবর্তনগুলি প্রয়োগ করার চেষ্টা করে। এই প্রভাবের জন্য, এটি প্রথমে একটি গণনা করে
অস্পষ্ট স্ট্রিং ব্যবহার করে %O-এর এন্ট্রি এবং %A-এর এন্ট্রিগুলির মধ্যে চিঠিপত্র
এখনও পরিবর্তিত এন্ট্রি সনাক্ত করতে মিলে যাচ্ছে।

- অপসারণ এক এক করে প্রয়োগ করা হয়. যদি এন্ট্রিটি %A-এ উপস্থিত থাকে, যে কোনো অবস্থানে, এটি হয়
সরানো যদি না হয়, অপসারণ একটি বিরোধ হিসাবে চিহ্নিত করা হয়.

- %B-এর শীর্ষে সংযোজনগুলি %A-এর শীর্ষে প্রয়োগ করা হয়।

- %B-তে এন্ট্রি x এবং এন্ট্রি y (y ফাইলের শেষ হতে পারে) এর মধ্যে যোগ প্রয়োগ করা হয়েছে
এন্ট্রি x এবং এন্ট্রি y এর মধ্যে %A (যদি তারা এখনও বিদ্যমান থাকে এবং এখনও পরপর থাকে
%A), অন্যথায় সংযোজনগুলি একটি দ্বন্দ্ব হিসাবে চিহ্নিত করা হয়৷

- পরিবর্তনগুলিকে "সাধারণ পরিবর্তন"-এ শ্রেণীবদ্ধ করা হয়েছে:
entry1 ... এন্ট্রি ম্যাপ করা হয়েছে
add_entry ... add_entry modified_entry1 ... modified_entry, যেখানে
entry_i এবং modified_entry_i-এর মধ্যে চিঠিপত্র এখনও স্পষ্ট; এবং "বড় পরিবর্তন":
এই সব বাকি. %B এর শীর্ষে সরল পরিবর্তনগুলি বসিয়ে প্রয়োগ করা হয়
%A-এর শীর্ষে যোগ করা এন্ট্রি। সাধারণ পরিবর্তনের পরিবর্তনগুলি একে একে প্রয়োগ করা হয়;
সম্ভবত একক-এন্ট্রি দ্বন্দ্বের দিকে পরিচালিত করে। বড় পরিবর্তন এন ব্লক প্রয়োগ করা হয়, সম্ভবত
একাধিক এন্ট্রি বিস্তৃত দ্বন্দ্বের দিকে পরিচালিত করে।

- দ্বন্দ্বগুলি ফাইলের শীর্ষে আউটপুট এবং 1 এর প্রস্থান অবস্থার কারণ হয়৷

onworks.net পরিষেবা ব্যবহার করে অনলাইনে git-merge-changelog ব্যবহার করুন



সর্বশেষ লিনাক্স এবং উইন্ডোজ অনলাইন প্রোগ্রাম