ক্যারেট (^) চরিত্রটি কী বোঝায়?


124

আমি এখানে এমন একটি প্রশ্নের উত্তর দেখেছি যা মুছে ফেলা ফাইলটিকে গিটে পুনরুদ্ধার করতে সহায়তা করে।

সমাধান ছিল

git checkout <deleting_commit>^ -- <deleted_file_path>

ক্যারেট চরিত্রটি ( ^) কী করে ? আমি এটিকে অন্য কোথাও গিমে খুব দরকারী জিনিসগুলি করতে দেখেছি। এটা যাদু। কেউ দয়া করে আমার জন্য এটি লুণ্ঠন করুন এবং বলুন এটি কী করে?


8
উইন্ডোতে এফওয়াইআই: ডস শেলের মধ্যে প্রত্যাশার মতো কাজ করে না। গিট ব্যাশ শেল ব্যবহার করুন এবং তারপরে এটি কার্যকর হয়।
সিনসিনাটি জো

5
এমনকি যখন আমি এটি ব্যবহার করার চেষ্টা করেছি তখন এটি আমার কাছে ঘটেছিল না (এর অর্থ কী তা অনুমান করে)। ক্যারেট ( ^) হ'ল সেমিড.এক্স.এক্স. প্রতিবার আমি এটি ব্যবহার করে দেখার চেষ্টা করেছি যে এটি সহায়ক হবে কিনা আমি আসলে কিছুই পাস করছিলাম না, যা ব্যাখ্যা করে যে ফলাফলগুলি কেন কখনও আলাদা ছিল না। > _> বোকা cmd.exe e আপনি এটিকে দ্বিগুণ করে বা উদ্ধৃতি দিয়ে এড়াতে পারবেন: git log master^^বাgit log "master^"
20-28 এ বামব্যামগুলি

উত্তর:


138

HEAD^ মানে বর্তমান শাখার অগ্রভাগের প্রথম পিতামাতা।

মনে রাখবেন গিট কমিটের একাধিক পিতামাতারা থাকতে পারে। HEAD^এর জন্য সংক্ষিপ্ত HEAD^1, এবং আপনি ঠিকানার মতো HEAD^2এবং ঠিকানার মতোও করতে পারেন ।

আপনি যে কোনও প্রতিশ্রুতিবদ্ধতার পিতামাতার কাছে পেতে পারেন, কেবল তা নয় HEAD। আপনি প্রজন্মের মধ্যেও ফিরে যেতে পারেন: উদাহরণস্বরূপ, master~2মাস্টার শাখার ডগায় দাদা-পিতা, অস্পষ্টতার ক্ষেত্রে প্রথম পিতামাতার পক্ষে হওয়া। এই নির্দিষ্টকরী ইচ্ছামত শৃঙ্খলিত করা যেতে পারে, যেমন , topic~3^2গিট এবং এর মধ্যে পার্থক্য কী সম্পর্কিত সম্পর্কিত উত্তর দেখুন ?HEAD^HEAD~

সম্পূর্ণ বিশদ জন্য, এর "নির্দিষ্টকরণ সংশোধনগুলি" বিভাগটি দেখুন git rev-parse --help


1
কিন্তু তারপরে, লিনিয়ার ইতিহাসে, HEAD^^^তৃতীয় পুরানো প্রতিশ্রুতিটি কেন এটি সমান HEAD~~~?
ভোরাক

1
@ ভোরাক লিনিয়ার ইতিহাসের জন্য, হ্যাঁ।
গ্রেগ বেকন

21

এর অর্থ "পিতামাতার"। সুতরাং HEAD^"বর্তমান হেডের অভিভাবক" এর অর্থ। আপনি এমনকি তাদের একসাথে শৃঙ্খলা করতে পারেন: এর HEAD^^অর্থ "বর্তমান হেডের পিতামাতার পিতামাতা" (অর্থাত্ বর্তমানের হেডের HEAD^^^পিতামাতার ), এর অর্থ " বর্তমান হেডের পিতামাতার পিতামাতা" এবং আরও অনেক কিছু।


16

^(ক্যারেট) যখন ব্যবহার করা যেতে পারে রেঞ্জ উল্লেখ

প্রতিশ্রুতি থেকে পৌঁছনীয় কমিটগুলি বাদ দেওয়ার জন্য একটি উপসর্গ ^ স্বীকৃতি ব্যবহৃত হয়। উদাহরণস্বরূপ ^ r1 r2 এর অর্থ r2 থেকে পৌঁছনীয় comm

<Rev>

(যেমন পূর্বপুরুষদের) থেকে আগত এমন কমিটগুলি অন্তর্ভুক্ত করুন।

^ <Rev>

(যেমন পূর্বপুরুষদের) থেকে আগত এমন কমিটগুলি বাদ দিন।


10

এখানে একটি চাক্ষুষ ব্যাখ্যা। মনে করুন আপনার মতো ইতিহাস রয়েছে:

                      master  
  ... <- B <- C <- D
             /
... <- E <- F
              feature

বৈশিষ্ট্যটি যখন মাস্টারে একীভূত হয়েছিল তখন Cদুটি পূর্বপুরুষের সাথে তৈরি হয়েছিল। গিট এই পূর্ব পুরুষদের সংখ্যা নির্ধারণ করে। মূললাইন পূর্বপুরুষ B1 এবং বৈশিষ্ট্য পূর্বপুরুষ F2 নিয়োগ করা হয়।

এইভাবে C^1বোঝায় Bএবং C^2উল্লেখ করে FC^জন্য একটি উপনাম C^1

আপনি শুধুমাত্র কখনও ব্যবহার করতে হবে <rev>^3। আপনি যদি তিনটি শাখার মার্জ করে থাকেন।


7

ক্যারেটটি নির্দিষ্ট প্রতিশ্রুতির পিতামাতাকে বোঝায়। উদাহরণস্বরূপ HEAD^বর্তমান হেড কমিটের পিতামাতাকে বোঝায়। (এছাড়াও, HEAD^^পিতামহাকে বোঝায়)।


4

ক্যারেটটি কমিট অফসেট (পিতামাতার) প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, উদাহরণস্বরূপ HEAD^"HEAD থেকে একটি প্রতিশ্রুতিবদ্ধ" এবং এর HEAD^^^অর্থ "HEAD থেকে তিনটি কমিট"।


4

(^) কমান্ডের প্যারেন্ট উত্স পায় অর্থাৎ হ্যাড AD হেডের পিতামাতাকে পাবেন।


1

গ্রেগ বেকন একটি দুর্দান্ত লিঙ্ক দিয়েছেন তবে এটি বেশ ঘন। অনলাইনে গিট পরিচিতি ডকসও পুনর্বিবেচনা এবং পরিসীমা নির্দিষ্টকারীদের পরিচয় করিয়ে দেয়:

https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection


3
এই লিঙ্কটি লক্ষ্যযুক্ত অবস্থানের কাছাকাছি হতে পারে। git-scm.com/book/en/v2/…
ভোলবেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.