গিট ব্যবহার করে আপনি কীভাবে বর্তমান এবং শেষ সংস্করণের মধ্যে পার্থক্য খুঁজে পেতে পারেন?
git diff last version:HEAD
গিট ব্যবহার করে আপনি কীভাবে বর্তমান এবং শেষ সংস্করণের মধ্যে পার্থক্য খুঁজে পেতে পারেন?
git diff last version:HEAD
উত্তর:
আমি আসলে "শেষ সংস্করণ" এর অর্থ বুঝতে পারি না।
পূর্বের প্রতিশ্রুতি যেমন শিরোনাম with এর মাধ্যমে অ্যাক্সেস করা যায়, আমি মনে করি যে আপনি এর মতো কিছু সন্ধান করছেন:
git diff HEAD^ HEAD
গিট ১.৮.৫ অনুসারে @এটি একটি উপনাম HEAD, সুতরাং আপনি এটি ব্যবহার করতে পারেন:
git diff @~..@
নিম্নলিখিতগুলিও কাজ করবে:
git show
আপনি যদি মাথা এবং কোনও কমিটের মধ্যে পার্থক্য জানতে চান তবে আপনি এটি ব্যবহার করতে পারেন:
git diff commit_id HEAD
এবং এটি আপনার ভিজ্যুয়াল ডিফ সরঞ্জামটি চালু করবে (যদি কনফিগার করা থাকে):
git difftool HEAD^ HEAD
যেহেতু হেডের সাথে তুলনা ডিফল্ট হয় আপনি এটিকে বাদ দিতে পারেন ( ওরিয়েন্ট দ্বারা চিহ্নিত হিসাবে ):
git diff @^
git diff HEAD^
git diff commit_id
~পরিবর্তে উইন্ডোজের চরিত্রটি ব্যবহার করা উচিত ^।@এটি একটি উপনাম HEAD। এবং যেহেতু ~এবং ^একই হয় যখন কেবল কোনও প্রতিশ্রুতি ফিরে যায়, আমি git diff @~..@টাইপ করতে অনেক সহজ মনে করি।
git showযেহেতু অ্যান্ড্রু এখনও তত সহজ @~..@।
git showকেবল প্রতিশ্রুতিবদ্ধ বার্তাটি মুদ্রণ করে, এটি নির্দিষ্ট পরিবর্তনগুলির ভিন্নতা আউটপুট দেয় না, কমপক্ষে গিট 2.5.4 (অ্যাপল গিট-61) এ, সুতরাং এটি আসলে ওপি-র প্রশ্নের উত্তর হতে পারে না।
git showহ'ল যদি HEADমার্জ কমিট হয় তবে আপনি যা প্রত্যাশা করেন তা পাবেন না যেহেতু মার্জ কমিট নিজেই কোনও পরিবর্তন হতে পারে না। git diff HEAD^ HEADসংস্করণগুলির মধ্যে আসল পরিবর্তনগুলি দেখাবে
"বর্তমান সংস্করণ" ধরে নেওয়া হল কার্যনির্বাহী ডিরেক্টরি (নিঃশর্ত পরিবর্তন) এবং "শেষ সংস্করণ" হ'ল HEAD(বর্তমান শাখার জন্য সর্বশেষ প্রতিশ্রুতিবদ্ধ পরিবর্তন), কেবলমাত্র করুন
git diff HEAD
নিম্নলিখিতগুলির জন্য ক্রেডিট ব্যবহারকারীর কাছে যায় Cerran।
এবং আপনি -aযখন প্রতিশ্রুতিবদ্ধ তখন আপনি যদি মঞ্চের অঞ্চলটি সর্বদা এড়িয়ে যান , তবে আপনি কেবল ব্যবহার করতে পারেন git diff।
সারসংক্ষেপ
git diff অপরিবর্তিত পরিবর্তনগুলি দেখায়।git diff --cached মঞ্চ পরিবর্তনগুলি দেখায়।git diff HEAD সমস্ত পরিবর্তন দেখায় (উভয় পর্যায়ের এবং স্টেস্টেড না))উত্স: গিট-ডিফ (1) ম্যানুয়াল পৃষ্ঠা - সেরান
-aযখন প্রতিশ্রুতিবদ্ধ তখন আপনি যদি মঞ্চের অঞ্চলটি সর্বদা এড়িয়ে যান , তবে আপনি কেবল ব্যবহার করতে পারেন git diff। <1> অচিহ্নবদ্ধ পরিবর্তনগুলি git diffদেখায় । <2> মঞ্চস্থ পরিবর্তনগুলি দেখায় । <3> সমস্ত পরিবর্তন (উভয় পর্যায়ের এবং স্টেস্টেড) দেখায় । উত্স: গিট-git diff --cachedgit diff HEAD
হচ্ছে একটি উপর নির্দিষ্ট মন্তব্য দ্বারা amalloy , যদি "বর্তমান এবং গত সংস্করণ" দ্বারা আপনি কি বোঝাতে চেয়েছেন গত কমিট এবং যে সামনে কমিট, আপনি ব্যবহার কেবল পারা
git show
git show HEAD~1দেখানোর জন্য শেষ কিন্তু এক কমিট, এবং git show HEAD~2বয়স্ক করে জন্য ইত্যাদি। এর মাধ্যমে কেবল একটি একক ফাইল দেখান git show HEAD~2 my_file।
শেষ কিন্তু একটি প্রতিশ্রুতিবদ্ধ এবং শেষ প্রতিশ্রুতি (প্লাস বর্তমান অবস্থা, যদি থাকে তবে) এর মধ্যে পার্থক্য:
git diff HEAD~
বা এমনকি (টাইপ করা সহজ)
git diff @~
বর্তমান শাখার @প্রতিশব্দ কোথায় HEADএবং এর ~অর্থ "আমাকে উল্লিখিত সংশোধনের পিতামাতা দিন"।
git diff HEAD^(সমমানের HEAD~ফর্মের চেয়ে )। নিজের মতো "পুরানো গিট" এর জন্য স্মরণ করা এখন আরও সহজ ;-)
~এবং এর @অর্থ ব্যাখ্যা করে উন্নত করা যেতে পারে ।
diff HEAD^ HEADহওয়া উচিত git diff @^!। Git-scm.com/docs/gitrevisions দেখুন জন্যr1^!
cachedআপনি যুক্ত করলে কেবল পতাকাটি ব্যবহার করুন , তবে এখনও প্রতিশ্রুতিবদ্ধ না:
git diff --cached --color
প্রথমত, ব্যবহার করুন "git log সংগ্রহস্থলের জন্য লগগুলির তালিকা " ব্যবহার করুন।
এখন দুটি কমিটের সাথে সম্পর্কিত দুটি কমিট আইডি নির্বাচন করুন। আপনি পার্থক্যগুলি দেখতে চান ( উদাহরণস্বরূপ - সর্বাধিক প্রতিশ্রুতিবদ্ধ এবং কিছু পুরানো প্রতিশ্রুতি (আপনার বর্তমান সংস্করণ এবং কিছু পুরানো সংস্করণের প্রত্যাশা অনুযায়ী) )।
এরপরে, ব্যবহার করুন:
git diff <commit_id1> <commit_id2>
অথবা
git difftool <commit_id1> <commit_id2>
যদি শীর্ষ প্রতিশ্রুতিটি হেড দ্বারা নির্দেশিত হয় তবে আপনি এর মতো কিছু করতে পারেন:
commit1 -> HEAD
commit2 -> HEAD~1
commit3 -> HEAD~2
প্রথম এবং দ্বিতীয় অঙ্গীকারের মধ্যে পার্থক্য:
git diff HEAD~1 HEAD
প্রথম এবং তৃতীয় অঙ্গীকারের মধ্যে পার্থক্য:
git diff HEAD~2 HEAD
দ্বিতীয় এবং তৃতীয় অঙ্গীকারের মধ্যে পার্থক্য:
git diff HEAD~2 HEAD~1
এবং আরও ...
আমি ব্যবহার Bitbucket সঙ্গে অন্ধকার অন্ধকার সঙ্গে আইডিই EGit প্লাগইন ইনস্টল হয়।
আমি এর ইতিহাসের যে কোনও সংস্করণ ( এসভিএন এর মতো) থেকে কোনও ফাইল তুলনা করি ) ।
মেনু প্রকল্প এক্সপ্লোরার → ফাইল → ডান ক্লিক → টিম → ইতিহাস দেখান ।
এটি সেই ফাইলের সমস্ত পরিবর্তনের ইতিহাস নিয়ে আসবে। এখন Ctrlক্লিক করুন এবং যে কোনও দুটি সংস্করণ নির্বাচন করুন → "একে অপরের সাথে তুলনা করুন" ।
এটি ট্যাগগুলির জন্যও কাজ করবে (নীচে 'ইউনিক' অপসারণ করুন এবং অন্যান্য অংশগুলি যদি আপনাকে দেখতে প্রয়োজন হয় তবে):
git diff v1.58 HEAD
নীচে একই, এবং এটি একক একক সংগ্রহস্থলটিতে মাইক্রোসার্চেসিসের জন্য অবিচ্ছিন্ন একীকরণ (সিআই) জন্য কার্যকর হতে পারে :
git diff v1.58 HEAD --name-only | sort -u | awk 'BEGIN {FS="/"} {print $1}' | uniq
<Folder Name>
(ক্রেডিট - https://dzone.com/articles/build-test-and-deploy-apps-ind dependantly- from- a- mo )