আমি ফিরে আসা তথ্য থেকে ডেটা সংগ্রহ করছি
git diff <commitId>..<commitId>
আমি দৌড়ে গেলাম @@ -1 +1 @@
আমি কী বলছি তা আমি বুঝতে পারি না। আমি গুগলে কিছুটা অনুসন্ধান করেছি কিন্তু ফল লাভ হয়নি।
আমি ফিরে আসা তথ্য থেকে ডেটা সংগ্রহ করছি
git diff <commitId>..<commitId>
আমি দৌড়ে গেলাম @@ -1 +1 @@
আমি কী বলছি তা আমি বুঝতে পারি না। আমি গুগলে কিছুটা অনুসন্ধান করেছি কিন্তু ফল লাভ হয়নি।
উত্তর:
এটি একটি ইউনিফাইড ডিফ হঙ্ক শনাক্তকারী। এটি GNU ডিফুটিলেটস দ্বারা নথিভুক্ত করা হয়েছে।
ইউনিফাইড আউটপুট ফর্ম্যাটটি একটি দুই-লাইনের শিরোনাম দিয়ে শুরু হয়, যা দেখতে এরকম দেখাচ্ছে:
--- থেকে ফাইল-ফাইল-পরিবর্তন-সময় +++ থেকে-ফাইল-ফাইল-পরিবর্তন-সময়সময় স্ট্যাম্পটি
2002-02-21 23:30:39.942229878 -0800
তারিখ, ভগ্নাংশের সেকেন্ডের সাথে সময় এবং সময় অঞ্চলটি নির্দেশ করে বলে মনে হচ্ছে । ভগ্নাংশের সেকেন্ডগুলি হোস্টগুলিতে বাদ দেওয়া হয় যা ভগ্নাংশের টাইম স্ট্যাম্পগুলি সমর্থন করে না।
--label=label
বিকল্পের সাহায্যে আপনি শিরোনামের সামগ্রী পরিবর্তন করতে পারেন ; বিকল্প নাম দেখুন ।এরপরে আসে এক বা একাধিক পার্থক্যের; প্রতিটি হুঙ্ক এমন একটি অঞ্চল দেখায় যেখানে ফাইলগুলি পৃথক হয়। ইউনিফাইড বিন্যাস কৃপণ দেখতে দেখতে:
@@ -ফাইল-লাইন-সংখ্যা থেকে ফাইল-লাইন-সংখ্যাগুলিতে @@ লাইন-থেকে-ফাইল -লাইন-থেকে-ফাইল-ফাইলই ...যদি একটি কুঁচকিতে কেবল একটি লাইন থাকে তবে কেবল তার প্রারম্ভিক নম্বরটি প্রদর্শিত হয়। অন্যথায় এর লাইন নম্বরগুলি দেখতে দেখতে ভাল লাগে । একটি খালি কুঁচকে কূটকী অনুসরণকারী লাইনে শুরু বলে মনে করা হয়।
start,count
যদি একটি কুঁচক এবং এর প্রসঙ্গে দুটি বা ততোধিক লাইন থাকে তবে এর লাইন নম্বরগুলি দেখতে দেখতে ভাল লাগে । অন্যথায় কেবল তার শেষ লাইনের নম্বর প্রদর্শিত হবে। একটি খালি কুঁচকে ডুবুর পূর্ববর্তী লাইনে শেষ বলে মনে করা হয়।
start,count
উভয় ফাইলে সাধারণ লাইনগুলি একটি স্থানের অক্ষর দিয়ে শুরু হয়। লাইনগুলি যে দুটি ফাইলের মধ্যে প্রকৃতপক্ষে পৃথক হয় বাম মুদ্রণ কলামে নীচের একটি সূচক অক্ষর থাকে:
- + +
একটি লাইন প্রথম ফাইলটি করার জন্য এখানে যোগ করা হয়েছিল।- -
এখানে প্রথম ফাইল থেকে একটি লাইন সরানো হয়েছে।
সাধারণ উদাহরণ বিশ্লেষণ
ফর্ম্যাটটি মূলত একই diff -u
ইউনিফাইড ডিফারেট।
এই ক্ষেত্রে:
diff -u <(seq -w 16) <(seq -w 16 | grep -Ev '^(02|03|14|15)$')
এখানে আমরা 2, 3, 14 এবং 15 লাইনগুলি সরিয়েছি Out আউটপুট:
@@ -1,6 +1,4 @@
01
-02
-03
04
05
06
@@ -11,6 +9,4 @@
11
12
13
-14
-15
16
@@ -1,6 +1,4 @@
অর্থ:
-1,6
এর অর্থ হ'ল প্রথম ফাইলটির এই অংশটি 1 লাইন থেকে শুরু হয় এবং মোট 6 টি লাইন দেখায়। সুতরাং এটি লাইন 1 থেকে 6 দেখায়।
1
2
3
4
5
6
-
"পুরানো" অর্থ, আমরা সাধারণত এটি হিসাবে প্রার্থনা করি diff -u old new
।
+1,4
এর অর্থ এই যে দ্বিতীয় ফাইলটির এই অংশটি 1 লাইন থেকে শুরু হয় এবং মোট 4 টি লাইন দেখায়। সুতরাং এটি লাইন 1 থেকে 4 দেখায়।
+
"নতুন" এর অর্থ।
আমাদের 6 টির পরিবর্তে 4 টি লাইন রয়েছে কারণ 2 টি লাইন সরানো হয়েছিল! নতুন হাঙ্কটি ঠিক:
01
04
05
06
@@ -11,6 +9,4 @@
দ্বিতীয় কুনি জন্য অনুরূপ:
পুরানো ফাইলে, আমাদের 6 টি লাইন রয়েছে, পুরানো ফাইলের 11 লাইনে শুরু:
11
12
13
14
15
16
নতুন ফাইলে, আমাদের 4 টি লাইন রয়েছে, নতুন ফাইলের 9 লাইন থেকে শুরু করে:
11
12
13
16
নোটটি 11
নতুন ফাইলের 9 তম লাইন হিসাবে উল্লেখ করুন কারণ আমরা ইতিমধ্যে পূর্ববর্তী হুন: 2 এবং 3 টিতে 2 টি লাইন সরিয়ে ফেলেছি।
হুঙ্ক শিরোনাম
আপনার গিট সংস্করণ এবং কনফিগারেশনের উপর নির্ভর করে আপনি লাইনের পাশের একটি কোড লাইনও পেতে পারেন @@
, যেমন func1() {
:
@@ -4,7 +4,6 @@ func1() {
এটি -p
সমতল পতাকা দিয়েও পাওয়া যায় diff
।
উদাহরণ: পুরানো ফাইল:
func1() {
1;
2;
3;
4;
5;
6;
7;
8;
9;
}
আমরা যদি লাইনটি সরিয়ে 6
ফেলি তবে ভিন্নতা দেখায়:
@@ -4,7 +4,6 @@ func1() {
3;
4;
5;
- 6;
7;
8;
9;
মনে রাখবেন যে func1
এটির জন্য সঠিক লাইন নয় : এটি লাইনগুলি এড়িয়ে গেছে 1
এবং 2
।
এই দুর্দান্ত বৈশিষ্টটি প্রায়শই বলে দেয় যে প্রতিটি কুনি কোন ফাংশন বা শ্রেণীর অন্তর্ভুক্ত, যা ভিন্নতার ব্যাখ্যা দেওয়ার জন্য খুব দরকারী।
শিরোনামটি ঠিক কীভাবে বেছে নেবে তা বেছে নেওয়ার জন্য অ্যালগরিদমটি এখানে আলোচনা করা হয়েছে: গিট ডিফ হঙ্ক শিরোলেখার অংশটি কোথা থেকে এসেছে?
@@ -1,6 +1,4 @@
"লাইনের 1 এ শুরু করে, পুরানো লাইনের গণনা 6 ছিল তবে নতুন লাইনের গণনা 4"
এই বর্তমান কুণ্ডলী পরিসীমা সম্পর্কিত তথ্য যা এই রেখাগুলি শুরু করে এবং শেষ হয় কোন লাইন সংখ্যার উপর ভিত্তি করে।
গভীরতার সাথে ব্যাখ্যা করার জন্য http://en.wikedia.org/wiki/Diff#Unified_format পড়ুন ।