انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

git-rev-parse - آنلاین در ابر

git-rev-parse را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور git-rev-parse است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


git-rev-parse - پارامترها را انتخاب کرده و ماساژ دهید

خلاصه


دستگاه گوارش rev-parse [ --گزینه ] ...

شرح


بسیاری از دستورات چینی Git ترکیبی از پرچم ها را می گیرند (یعنی پارامترهایی که با a شروع می شوند
خط تیره -) و پارامترهای در نظر گرفته شده برای زیربنا دستگاه گوارش rev-list دستوری که در داخل استفاده می کنند
و پرچم ها و پارامترهای دیگر دستوراتی را که در پایین دست از آنها استفاده می کنند دستگاه گوارش rev-list. این
از دستور برای تمایز بین آنها استفاده می شود.

OPTIONS


عمل حالت های
هر یک از این گزینه ها باید ابتدا در خط فرمان ظاهر شوند.

-- تجزیه
استفاده کنید دستگاه گوارش rev-parse در حالت تجزیه گزینه (به بخش PARSEOPT در زیر مراجعه کنید).

---مربع - نقل قول
استفاده کنید دستگاه گوارش rev-parse در حالت نقل قول پوسته (به بخش SQ-QUOTE در زیر مراجعه کنید). در مقابل
گزینه --sq زیر، این حالت فقط نقل قول را انجام می دهد. هیچ کار دیگری برای فرمان انجام نمی شود
ورودی

گزینه برای -- تجزیه
-- نگه داشتن-داش
فقط در حالت --parseopt معنی دار است. به تجزیه کننده گزینه می گوید که اولین مورد را تکرار کند --
به جای رد شدن از آن ملاقات کرد.

--stop-at-non-گزینه
فقط در حالت --parseopt معنی دار است. به تجزیه کننده گزینه اجازه می دهد در ابتدا متوقف شود
آرگومان غیر گزینه ای این می تواند برای تجزیه دستورات فرعی که گزینه ها را می گیرند استفاده شود
خودشان

-- گیر کرده
فقط در حالت --parseopt معنی دار است. خروجی گزینه ها به شکل طولانی اگر
در دسترس هستند، و با استدلال هایشان گیر کرده اند.

گزینه برای فیلتر
-- فقط دور
از خروجی پرچم ها و پارامترهایی که برای آنها در نظر گرفته نشده است، خودداری کنید دستگاه گوارش rev-list فرمان

--بدون دور
پرچم ها و پارامترهای مربوط به آن را خروجی نکنید دستگاه گوارش rev-list فرمان

-- پرچم ها
پارامترهای غیر پرچم را خروجی نکنید.

-- بدون پرچم
از خروجی پارامترهای پرچم خودداری کنید.

گزینه برای تولید
-- پیش فرض
اگر هیچ پارامتری توسط کاربر ارائه نشده است، استفاده کنید بجای.

-- پیشوند
طوری رفتار کن که انگار دستگاه گوارش rev-parse از استناد شده بود زیر شاخه کار
درخت هر گونه نام فایل نسبی به گونه ای حل می شود که گویی پیشوند آنها توسط و خواهد بود
به آن شکل چاپ شده است.

این را می توان برای تبدیل آرگومان ها به دستوری که در یک زیر شاخه اجرا می شود استفاده کرد تا آنها
پس از انتقال به سطح بالای مخزن همچنان می توان از آن استفاده کرد. مثلا:

پیشوند=$(git rev-parse --show-prefix)
سی دی "$(git rev-parse --show-toplevel)"
eval "set -- $(git rev-parse --sq --prefix "$prefix" "$@")"

-- تأیید کنید
بررسی کنید که دقیقاً یک پارامتر ارائه شده است و می توان آن را به یک پارامتر خام تبدیل کرد
20 بایت SHA-1 که می تواند برای دسترسی به پایگاه داده شی استفاده شود. اگر چنین است، آن را به
خروجی استاندارد؛ در غیر این صورت، خطا.

اگر می خواهید مطمئن شوید که خروجی در واقع یک شی را در شیء شما نام می برد
پایگاه داده و/یا می تواند به عنوان نوع خاصی از شی مورد نیاز شما استفاده شود، می توانید آن را اضافه کنید
^{type} عملگر لایه برداری به پارامتر. برای مثال، git rev-parse "$VAR^{commit}"
مطمئن خواهد شد که $VAR یک شی موجود را که یک commit-ish است نام می‌برد (یعنی یک commit یا
یک تگ مشروح که به یک commit اشاره می کند). برای اطمینان از اینکه $VAR یک موجود را نامگذاری می کند
شی از هر نوع، git rev-parse "$VAR^{object}" را می توان استفاده کرد.

-q، --آرام
فقط در حالت --verify معنادار است. اگر آرگومان اول باشد، پیغام خطا را خروجی ندهید
نام شیء معتبری نیست. در عوض با وضعیت غیر صفر بی صدا خارج شوید. SHA-1s برای
نام اشیاء معتبر برای موفقیت در stdout چاپ می شود.

-- مربع
معمولا خروجی یک خط در هر پرچم و پارامتر ساخته می شود. این گزینه خروجی a را ایجاد می کند
تک خط، به درستی برای مصرف توسط پوسته نقل قول شده است. زمانی مفید است که از خود انتظار دارید
پارامتر حاوی فضاهای خالی و خطوط جدید (مثلاً هنگام استفاده از pickaxe -S با دستگاه گوارش
تفاوت-*). برخلاف گزینه --sq-quote، ورودی دستور همچنان تفسیر می شود
مثل همیشه.

-- نه
هنگام نمایش نام اشیا، آنها را با پیشوند اضافه کنید ^ و نوار ^ پیشوند از نام اشیاء
که قبلا یکی دارند.

--abbrev-ref[=(سخت | شل)]
نام کوتاه غیر مبهم نام اشیا. گزینه core.warnAmbiguousRefs است
برای انتخاب حالت مخفف دقیق استفاده می شود.

--short، --short=عدد
به جای خروجی کردن مقادیر کامل SHA-1 نام اشیا، سعی کنید آنها را مخفف کنید
یک نام منحصر به فرد کوتاه تر وقتی طولی مشخص نشده باشد از 7 استفاده می شود. حداقل طول 4 است.

-- نمادین
معمولاً نام اشیاء به شکل SHA-1 (با امکان ^ پیشوند)؛ این
این گزینه باعث می شود آنها را به شکلی نزدیک به ورودی اصلی خروجی بگیرند.

---سمبلیک-نام کامل
این شبیه به --symbolic است، اما ورودی‌هایی را که ref نیستند حذف می‌کند (یعنی شاخه یا
نام تگ ها یا به صراحت تر از ابهام زدایی فرم "سر/استاد"، زمانی که شما می خواهید
هنگامی که یک برچسب متأسفانه با نام "master" وجود دارد، شاخه "master" را نامگذاری کنید و نشان دهید
آنها را به عنوان نام های کامل (به عنوان مثال "refs/heads/master").

گزینه برای اشیاء
--همه
نمایش تمام موارد موجود در refs/.

--شاخه‌ها[=الگو]، --برچسب‌ها[=الگو]، ریموت‌ها[=الگو]
به ترتیب همه شاخه ها، برچسب ها یا شاخه های ردیابی از راه دور را نشان دهید (به عنوان مثال، موارد پیدا شده
به ترتیب در refs/heads، refs/tags یا refs/remotes).

اگر الگوی داده شود، فقط مواردی که با پوسته پوسته داده شده مطابقت دارند نشان داده می شوند. اگر
الگو شامل یک کاراکتر globbing (?، *، یا [) نیست، به یک پیشوند تبدیل می شود
با اضافه کردن /* مطابقت دهید.

--glob=الگو
نمایش همه داوران مطابق با الگوی پوسته گلوب. اگر الگو شروع نشد
با refs/، این به طور خودکار اضافه می شود. اگر الگو حاوی الف نباشد
کاراکتر globbing (?، *، یا [)، با اضافه کردن /* به تطابق پیشوند تبدیل می شود.

--exclude=
تطبیق داورها را درج نکنید که تگ های --all، -- شاخه ها، -- بعدی،
-- راه دور، یا --glob در غیر این صورت در نظر گرفته می شود. تکرار این گزینه انباشته می شود
الگوهای حذف تا -- همه، --شاخه ها، --برچسب ها، --remotes یا --glob بعدی
گزینه (سایر گزینه ها یا آرگومان ها الگوهای انباشته شده را پاک نمی کنند).

وقتی
به ترتیب روی --branches، ---tags یا --remotes اعمال می شود و باید با آنها شروع شود
refs/ وقتی روی --glob یا --all اعمال می شود. اگر دنباله /* در نظر گرفته شده است، باید داده شود
صریحاً

--ابهام زدایی=
هر شیئی را که نام آن با پیشوند داده شده شروع می شود نشان دهید. در باید در
حداقل 4 رقم هگزا دسیمال برای جلوگیری از فهرست کردن هر شیء موجود در آن
مخزن به اشتباه

گزینه برای فایل ها
--local-env-vars
متغیرهای محیطی GIT_* را که محلی برای مخزن هستند (به عنوان مثال GIT_DIR یا
GIT_WORK_TREE، اما نه GIT_EDITOR). فقط نام متغیرها لیست شده است، نه
ارزش آنها، حتی اگر تنظیم شده باشند.

--git-dir
در صورت تعریف، GIT_DIR$ را نشان دهید. در غیر این صورت مسیر دایرکتوری git. را نشان دهید. مسیر
نشان داده شده، زمانی که نسبی است، نسبت به فهرست کاری فعلی است.

اگر $GIT_DIR تعریف نشده باشد و دایرکتوری فعلی در یک Git شناسایی نشود
مخزن یا درخت کاری پیامی را در stderr چاپ کنید و با وضعیت غیرصفر خارج شوید.

--git-common-dir
در صورت تعریف، GIT_COMMON_DIR را نشان دهید، در غیر این صورت، GIT_DIR را نشان دهید.

--is-inside-git-dir
هنگامی که دایرکتوری فعلی در زیر دایرکتوری مخزن است، "true" را چاپ کنید.
در غیر این صورت "کاذب".

--is-inside-work-tree
زمانی که دایرکتوری کاری فعلی داخل درخت کاری پرینت مخزن باشد
"درست"، در غیر این صورت "نادرست".

--is-bare-repository
وقتی مخزن خالی است، «درست» و در غیر این صورت «نادرست» چاپ کنید.

--resolve-git-dir
بررسی کن اگر یک مخزن معتبر یا یک gitfile است که به یک مخزن معتبر اشاره می کند،
و محل مخزن را چاپ کنید. اگر یک gitfile است سپس حل شده است
مسیر مخزن واقعی چاپ می شود.

--git-path
حل "$GIT_DIR/ و سایر متغیرهای جابجایی مسیر مانند
$GIT_OBJECT_DIRECTORY، $GIT_INDEX_FILE... را در نظر بگیرید. به عنوان مثال، اگر
$GIT_OBJECT_DIRECTORY روی /foo/bar و سپس "git rev-parse --git-path objects/abc" تنظیم شده است.
/foo/bar/abc را برمی گرداند.

--show-cdup
هنگامی که دستور از یک زیر شاخه فراخوانی می شود، مسیر سطح بالا را نشان دهید
دایرکتوری نسبت به دایرکتوری فعلی (معمولاً دنباله ای از "../" یا یک
رشته خالی).

--نمایش پیشوند
هنگامی که دستور از یک زیر شاخه فراخوانی می شود، مسیر جریان را نشان دهید
دایرکتوری نسبت به دایرکتوری سطح بالا.

--show-level
مسیر مطلق دایرکتوری سطح بالا را نشان دهید.

---index-path
مسیر فایل فهرست مشترک را در حالت تقسیم فهرست نشان دهید یا در غیر این صورت خالی کنید
حالت تقسیم شاخص

دیگر گزینه
--since=datestring، --after=datestring
رشته تاریخ را تجزیه کنید، و پارامتر --max-age= مربوطه را برای دستگاه گوارش
rev-list.

--تا=تاریخ، --before=تاریخ
رشته تاریخ را تجزیه کنید، و پارامتر --min-age= مربوطه را برای دستگاه گوارش
rev-list.

...
پرچم ها و پارامترهایی که باید تجزیه شوند.

مشخص کردن تجدید نظرها


یک پارامتر تجدید نظر به طور معمول، اما نه لزوما، یک شی commit را نام می برد. استفاده می کند
چیزی که an نامیده می شود تمدید شده SHA-1 نحو. در اینجا روش های مختلفی برای املای نام اشیا وجود دارد. در
آنهایی که در انتهای این لیست فهرست شده اند، درختان و حباب های موجود در یک commit را نام می برند.

، به عنوان مثال dae86e1950b1277e545cee180551750029cfe735, dae86e
نام کامل شیء SHA-1 (رشته هگزادسیمال 40 بایت)، یا یک زیررشته اصلی که
در مخزن منحصر به فرد است. به عنوان مثال dae86e1950b1277e545cee180551750029cfe735 و
اگر شیء دیگری در مخزن شما وجود نداشته باشد، هر دوی آنها یک شی commit را نامگذاری می کنند
نام شی که با dae86e شروع می شود.

، به عنوان مثال نسخه 1.7.4.2-679-g3bee7fb
خروجی از git describe; به عنوان مثال نزدیکترین تگ، به صورت اختیاری با یک خط تیره و a دنبال می شود
تعداد commit ها، به دنبال آن یک خط تیره، a g، و یک نام مخفف شی.

، به عنوان مثال استاد, سران / استاد, refs/heads/master
یک نام مرجع نمادین به عنوان مثال استاد معمولاً به معنای شی commit است که توسط
refs/heads/master. اگر اتفاقا هر دو را دارید سران / استاد و برچسب ها / استاد، شما می توانید
به صراحت بگو سران / استاد تا به Git بگویید منظورتان کدام است. وقتی مبهم است، الف
با گرفتن اولین مسابقه در قوانین زیر ابهام می شود:

1 اگر $GIT_DIR/ وجود دارد، منظور شما این است (این معمولا فقط مفید است
برای HEAD, FETCH_HEAD, ORIG_HEAD, MERGE_HEAD و CHERRY_PICK_HEAD);

2. در غیر این صورت، مراجع/ اگر وجود داشته باشد؛

3. در غیر این صورت، refs/tags/ اگر وجود داشته باشد؛

4. در غیر این صورت، refs/heads/ اگر وجود داشته باشد؛

5. در غیر این صورت، refs/remotes/ اگر وجود داشته باشد؛

6. در غیر این صورت، refs/remotes/ /سر اگر وجود داشته باشد

HEAD commit را که تغییرات درخت کاری را بر اساس آن انجام داده اید نام می برد.
FETCH_HEAD شاخه ای را که از یک مخزن راه دور با خود آورده اید را ثبت می کند
آخرین فراخوان واکشی git. ORIG_HEAD توسط دستوراتی ایجاد می شود که شما را حرکت می دهد HEAD
به روشی شدید، برای ثبت موقعیت HEAD قبل از عملیات آنها، بنابراین
که می توانید به راحتی نوک شاخه را به حالت قبل از دویدن برگردانید
آنها. MERGE_HEAD commit(هایی) را که در شعبه خود ادغام می کنید را ثبت می کند
وقتی git merge را اجرا می کنید. CHERRY_PICK_HEAD تعهدی که شما هستید را ثبت می کند
گیلاس چیدن وقتی که git cherry-pick را اجرا می کنید.

توجه داشته باشید که هر یک از مراجع/* موارد بالا ممکن است از $GIT_DIR/مقاله
دایرکتوری یا از $GIT_DIR/packed-refs فایل. در حالی که رمزگذاری نام مرجع است
نامشخص، UTF-8 ترجیح داده می شود زیرا برخی از پردازش های خروجی ممکن است نام های مرجع را در نظر بگیرند
UTF-8.

@
@ به تنهایی یک میانبر برای HEAD.

@{ }، به عنوان مثال master@{دیروز}, HEAD@{5 دقیقه پیش}
یک رفر بعد از آن پسوند @ با مشخصات تاریخ محصور در یک جفت مهاربند
(به عنوان مثال {دیروز}, {1 ماه 2 هفته 3 روز 1 ساعت 1 دوم پیش} or {1979-02-26
18:30:00}) مقدار ref را در یک نقطه قبلی در زمان مشخص می کند. این پسوند ممکن است
فقط بلافاصله بعد از نام ref استفاده می شود و ref باید یک گزارش موجود داشته باشد
($GIT_DIR/logs/). توجه داشته باشید که این وضعیت شما را بررسی می کند محلی رجوع به یک داده شده
زمان؛ به عنوان مثال، آنچه در محل شما بود استاد شعبه هفته گذشته اگر می خواهید نگاه کنید
تعهدات انجام شده در زمان های خاص، ببینید --از آنجا که و --تا زمان.

@{ }، به عنوان مثال master@{1}
یک رفر بعد از آن پسوند @ با مشخصات ترتیبی محصور در یک جفت مهاربند
(به عنوان مثال 1 {}, 15 {}) n-امین مقدار قبلی آن ref را مشخص می کند. مثلا master@{1}
ارزش اولیه فوری است استاد در حین master@{5} پنجمین مقدار قبلی است
استاد. این پسوند فقط بلافاصله پس از نام ref و ref باید استفاده شود
یک گزارش موجود ($GIT_DIR/logs/).

@{ }، به عنوان مثال @{1}
شما می توانید با استفاده از @ با یک قسمت ref خالی بسازید تا به ورودی reflog از آن برسید
شعبه فعلی به عنوان مثال، اگر در شعبه هستید BLA bla سپس @{1} یعنی همان
blabla@{1}.

@{- }، به عنوان مثال @{-1}
سازه @{- } به معنی شعبه/تعهد قبل از جاری بررسی شد
یک.

@{بالا جریان}، به عنوان مثال master@{بالا جریان}, @{u}
پسوند @{بالا جریان} به نام شاخه (فرم کوتاه @{u}) اشاره به
شاخه ای که شاخه ای که با نام شاخه مشخص شده است برای ساختن در بالای آن تنظیم شده است (پیکربندی شده است
با شاخه .ریموت و شعبه. .ادغام). نام شاخه گم شده به صورت پیش‌فرض است
فعلی

@{فشار دادن}، به عنوان مثال master@{فشار}, @{فشار دادن}
پسوند @{فشار دادن} اگر git push اجرا شود، شاخه "جایی که به آن فشار می دهیم" را گزارش می دهد
در حالی که نام شعبه بررسی شد (یا فعلی HEAD اگر نام شاخه ای مشخص نشده باشد).
از آنجایی که مقصد فشار ما در یک مخزن راه دور است، البته، ما محلی را گزارش می کنیم
شاخه ردیابی که با آن شاخه مطابقت دارد (یعنی چیزی در refs/remotes/).

در اینجا یک مثال برای روشن شدن بیشتر آمده است:

$ git config فشار. جریان پیش‌فرض
$ git config remote.pushdefault myfork
$ git checkout -b mybranch origin/master

$ git rev-parse --symbolic-full-name @{upstream}
refs/remotes/origin/master

$ git rev-parse --symbolic-full-name @{push}
refs/remotes/myfork/mybranch

در مثال توجه داشته باشید که ما یک گردش کار مثلثی را تنظیم کرده ایم، جایی که از یکی می کشیم
مکان و فشار به دیگری. در یک گردش کار غیر مثلثی، @{فشار دادن} مثل این هست که
@{بالا جریان}، و نیازی به آن نیست.

^، به عنوان مثال سر ^، نسخه 1.5.1^0
یک پسوند ^ به یک پارامتر revision به معنی اولین والد آن شی commit است. ^
به معنی والد ام (یعنی ^ برابر است با ^1). به عنوان یک قانون خاص،
^0 به معنای خود commit است و زمانی استفاده می شود که نام شی یک تگ است
شی که به یک شی commit اشاره دارد.

~، به عنوان مثال استاد~3
یک پسوند ~ به یک پارامتر revision به معنای شی commit است که همان است هفتم
اجداد نسل شی commit نام‌گذاری شده که فقط از والدین اول پیروی می‌کنند. یعنی
~ 3 برابر است با ^^^ که معادل آن است ^1^1^1. زیر را ببینید
تصویری از استفاده از این فرم

^{ }، به عنوان مثال نسخه 0.99.8^{commit}
یک پسوند ^ به دنبال آن یک نام نوع شی محصور شده در جفت پرانتز به معنای عدم ارجاع است
شی در به صورت بازگشتی تا یک شی از نوع یافت می شود یا شیء
دیگر نمی توان ارجاع داد (در این صورت، برف). به عنوان مثال، اگر هست یک
متعهد، ^{متعهد} شی commit مربوطه را توصیف می کند. به طور مشابه، اگر
درختی است، ^{درخت} شی درخت مربوطه را توصیف می کند. ^0 is
یک دست کوتاه برای ^{متعهد}.

rev^{object} می توان برای اطمینان استفاده کرد احیای نام یک شی را که وجود دارد، بدون
نیاز به احیای برچسب باشد و بدون ارجاع دادن احیای; زیرا یک برچسب قبلاً یک است
شی، لازم نیست حتی یکبار هم ارجاع داده شود تا به یک شی برسید.

rev^{tag} می توان برای اطمینان از آن استفاده کرد احیای یک شی برچسب موجود را شناسایی می کند.

^{}، به عنوان مثال نسخه 0.99.8^{}
یک پسوند ^ به دنبال آن یک جفت پرانتز خالی به این معنی است که شی می تواند یک برچسب باشد، و
تگ را به صورت بازگشتی لغو کنید تا زمانی که یک شی غیر برچسب پیدا شود.

^{/ }، به عنوان مثال HEAD ^{/ رفع کنید تند و زننده حشره}
یک پسوند ^ به یک پارامتر تجدید نظر، به دنبال آن یک جفت پرانتز که حاوی یک متن led است
با اسلش، همان است :/ثابت تند و زننده اشکال نحو زیر به جز اینکه عبارت را برمی گرداند
جوانترین ارتکاب تطبیق که از طریق قبل از ^.

:/، به عنوان مثال :/ثابت تند و زننده اشکال
یک دونقطه و به دنبال آن یک اسلش و به دنبال آن یک متن، commit را نامگذاری می کند که پیام commit آن را نشان می دهد
با عبارت منظم مشخص شده مطابقت دارد. این نام جوان ترین تطابق را برمی گرداند
commit که از هر مرجع قابل دسترسی است. اگر پیام commit با a شروع شود ! شما
باید تکرار کنم که؛ سکانس ویژه :/!، به دنبال چیزی غیر از !است،
فعلا رزرو شده عبارت منظم می تواند با هر بخشی از پیام commit مطابقت داشته باشد. به
پیام‌هایی که با یک رشته شروع می‌شوند مطابقت دارند، می‌توان از آن برای مثال استفاده کرد :/^فو.

:، به عنوان مثال HEAD:README, :README, استاد:./README
یک پسوند : به دنبال آن یک مسیر، لکه یا درخت را در مسیر داده شده در درخت-ish نام می‌برد
شیئی که توسط قسمت قبل از کولون نامگذاری شده است. :مسیر (با قسمت خالی قبل از
دو نقطه) یک مورد خاص از نحوی است که در ادامه توضیح داده می شود: محتوای ثبت شده در فهرست
در مسیر داده شده مسیری که با آن شروع می شود ./ or ../ نسبت به کار فعلی است
فهرست راهنما. مسیر داده شده به نسبت ریشه درخت کار تبدیل می شود
فهرست راهنما. این برای پرداختن به یک لکه یا درخت از یک commit یا درختی که بسیار مفید است
ساختار درختی مشابه درخت کار دارد.

: :، به عنوان مثال :0:README, :README
یک دونقطه، که به صورت اختیاری با یک عدد مرحله (0 تا 3) و یک دونقطه، به دنبال آن a
path، یک شی blob را در فهرست در مسیر داده شده نام می برد. یک شماره مرحله از دست رفته (و
نقطه ای که به دنبال آن است) یک ورودی مرحله 0 را نامگذاری می کند. در طول یک ادغام، مرحله 1 است
جد مشترک، مرحله 2 نسخه شاخه هدف است (معمولاً فعلی
شاخه)، و مرحله 3 نسخه ای از شاخه است که در حال ادغام است.

در اینجا یک تصویر، توسط Jon Loeliger است. هر دو گره commit B و C پدر و مادر commit هستند
گره A. تعهدات والدین از چپ به راست مرتب می شوند.

GHIJ
\/\/
DEF
\ | /\
\ | / |
\|/ |
قبل از میلاد مسیح
\ /
\ /
A

A = = A^0
B = A^ = A^1 = A~1
C = A^2 = A^2
D = A^^ = A^1^1 = A~2
E = B^2 = A^^2
F = B^3 = A^^3
G = A^^^ = A^1^1^1 = A~3
H = D^2 = B^^2 = A^^^2 = A~2^2
I = F^ = B^3^ = A^^3^
J = F^2 = B^3^2 = A^^3^2

مشخص کردن محدوده ها


دستورات پیمایش تاریخ مانند git log بر روی مجموعه ای از commit ها عمل می کنند، نه فقط یک تک
مرتکب شدن. برای این دستورات، مشخص کردن یک ویرایش واحد با نماد توضیح داده شده در
بخش قبلی به معنای مجموعه ای از تعهدات قابل دسترسی از آن commit، پس از commit است
زنجیره نسب

برای حذف تعهدات قابل دسترسی از یک commit، یک پیشوند ^ علامت گذاری استفاده می شود. به عنوان مثال ^r1 r2 به معنی
commits قابل دسترسی از r2 اما موارد قابل دسترس را حذف کنید r1.

این عملیات مجموعه به قدری ظاهر می شود که مختصری برای آن وجود دارد. وقتی دو تا داری
مرتکب می شود r1 و r2 (نامگذاری شده بر اساس نحو توضیح داده شده در SPECIFYING REVISIONS در بالا)،
می توانید commit هایی را بخواهید که از r2 قابل دسترسی هستند به استثنای مواردی که از RXNUMX قابل دسترسی هستند
r1 توسط ^r1 r2 و می توان آن را به صورت نوشتاری کرد r1..r2.

نماد مشابه r1...r2 اختلاف متقارن نامیده می شود r1 و r2 و به صورت تعریف شده است
r1 r2 -- نه $(git ادغام پایه --همه r1 r2). این مجموعه ای از تعهدات است که قابل دسترسی هستند
از یکی از r1 or r2 اما نه از هر دو

در این دو خلاصه می توانید یک انتهای آن را حذف کنید و به طور پیش فرض روی HEAD بگذارید. مثلا،
اصل و نسب.. یک شاهرود برای است مبدا..سر و می پرسد: «از وقتی که از انشعاب جدا شدم چه کار کردم؟
شاخه مبدا؟» به طور مشابه، ..اصل و نسب یک شاهرود برای است سر..منشا و می پرسد "چیکار کرد؟
از زمانی که من از آنها جدا شده ام، منشأ انجام می دهند؟" توجه داشته باشید که .. به معنای سر..سر که خالی است
محدوده ای که هم از HEAD قابل دسترسی و هم غیرقابل دسترسی است.

دو مختصر دیگر برای نامگذاری مجموعه ای که توسط یک commit تشکیل می شود و والد آن commit می کند
وجود داشته باشد r1^@ علامت گذاری به معنای همه والدین است r1. r1^! شامل تعهد می شود r1 اما همه را مستثنی می کند
از پدر و مادرش

به طور خلاصه:


شامل تعهداتی که از (یعنی اجداد) قابل دسترسی هستند .

^
حذف تعهداتی که از (یعنی اجداد) قابل دسترسی هستند .

..
شامل تعهداتی که از طریق آنها قابل دسترسی است اما مواردی را که در دسترس هستند حذف کنید
از جانب . زمانی که هر دو یا حذف شده است، پیش فرض آن است HEAD.

...
شامل تعهداتی که از هر کدام قابل دسترسی است یا اما آنهایی را که
از هر دو قابل دسترسی هستند زمانی که هر دو یا حذف شده است، به طور پیش فرض به HEAD.

^@، به عنوان مثال سر ^@
یک پسوند ^ به دنبال آن یک علامت در همان لیست کردن همه والدین است
(به این معنی که شامل هر چیزی که از طرف والدینش قابل دسترسی است باشد، اما نه خود تعهد).

^!، به عنوان مثال سر ^!
یک پسوند ^ به دنبال آن علامت تعجب همان تعهد دادن است و پس از آن
تمام والدین آن با پیشوند ^ آنها (و اجدادشان) را کنار بگذارند.

در اینجا چند نمونه وجود دارد:

DGHD
DFGHIJDF
^GDHD
^DBEIJFB
B..CC
B...CGHDEBC
^DBCEIJFBC
CIJFC
C^@ IJF
C^! سی
F^! DGHDF

PARSEOPT


در حالت --parseopt، دستگاه گوارش rev-parse به ماساژ گزینه ها کمک می کند تا اسکریپت ها را به پوسته بیاورند
همان امکاناتی که توکارهای C دارند. این به عنوان یک نرمال کننده گزینه (به عنوان مثال تقسیم تک
مقادیر مجموع را تغییر می دهد)، کمی شبیه گرفتن(1) انجام می دهد.

این ورودی استاندارد مشخصات گزینه ها را برای تجزیه و درک می گیرد،
و در خروجی استاندارد رشته ای مناسب برای آن بازتاب می دهد sh(1) ارزیابی برای جایگزینی
استدلال با موارد عادی در صورت بروز خطا، استفاده از خطای استاندارد را خروجی می دهد
استریم می شود و با کد 129 خارج می شود.

توجه: مطمئن شوید که نتیجه را هنگام ارسال آن به eval نقل قول کنید. برای مثال زیر را ببینید.

ورودی قالب
دستگاه گوارش rev-parse -- تجزیه فرمت ورودی کاملاً متنی است. دارای دو بخش است که با یکدیگر از هم جدا شده اند
خطی که فقط شامل --. خطوط قبل از جداکننده (باید یک یا چند باشد) هستند
برای استفاده استفاده می شود. خطوط بعد از جداکننده گزینه ها را توصیف می کنند.

هر خط از گزینه ها این قالب را دارد:

* ? SP+ help LF


قالب آن کاراکتر گزینه کوتاه است، سپس نام گزینه طولانی با a جدا می شود
کاما هر دو بخش مورد نیاز نیستند، اگرچه حداقل یکی ضروری است. ممکن است حاوی نباشد
هر یک از شخصیت ها. h، help، dry-run و f نمونه هایی از صحیح هستند
.


هستند از *، =،؟ یا !.

· اگر گزینه آرگومان می گیرد از = استفاده کنید.

· استفاده کنید ؟ به این معنی که گزینه یک آرگومان اختیاری می گیرد. احتمالاً می خواهید
از حالت --stuck-long استفاده کنید تا بتوانید آرگومان اختیاری را بدون ابهام تجزیه کنید.

· استفاده از * به این معنی است که این گزینه نباید در استفاده ایجاد شده برای لیست شده باشد
آرگومان -h همانطور که در مستند شده است برای --help-all نشان داده شده است gitcli(7).

· استفاده کنید ! تا گزینه طولانی انکار شده مربوطه در دسترس نباشد.


، در صورت مشخص شدن، به عنوان نام آرگومان در خروجی کمک، برای استفاده می شود
گزینه هایی که آرگومان می گیرند. با اولین فضای خالی خاتمه می یابد. این است
استفاده از خط تیره برای جدا کردن کلمات در یک اشاره چند کلمه ای مرسوم است.

باقی مانده خط، پس از برداشتن فضاها، به عنوان کمک مربوط به استفاده می شود
گزینه

خطوط خالی نادیده گرفته می شوند و خطوطی که با این مشخصات مطابقت ندارند به عنوان گزینه استفاده می شوند
هدرهای گروهی (خط را با فاصله شروع کنید تا از روی عمد چنین خطوطی ایجاد شود).

مثال
OPTS_SPEC="\
مقداری فرمان [گزینه ها] ...

برخی از فرمان فو و بار می کند!
--
h، به نشان دادن کمک کمک کنید

چند گزینه بسیار خوب --foo
bar= چند گزینه جالب --bar با آرگومان
baz=arg گزینه جالب دیگری --baz با آرگومان نامگذاری شده
qux?path qux ممکن است یک آرگومان مسیر داشته باشد اما به خودی خود معنی دارد

سربرگ گروه گزینه
سی؟ گزینه C با آرگومان اختیاری"

eval "$(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $؟)"

استفاده متن
هنگامی که "$@" در مثال بالا -h یا --help باشد، متن استفاده زیر نشان داده می شود:

استفاده: برخی از فرمان [گزینه ها] ...

برخی از فرمان فو و بار می کند!

-h، --help نشان دادن کمک
--foo برخی از گزینه های جالب --foo
--bar ... چند گزینه جالب --bar با آرگومان
--باز یک گزینه جالب دیگر --baz با آرگومان نامگذاری شده
--qux[= ] qux ممکن است یک آرگومان مسیر داشته باشد اما به خودی خود معنی دارد

سربرگ گروه گزینه
-C[...] گزینه C با یک آرگومان اختیاری

SQ-QUOTE


در حالت --sq-quote، دستگاه گوارش rev-parse در خروجی استاندارد یک خط مناسب برای
sh(1) ارزیابی. این خط با عادی سازی آرگومان های زیر --sq-quote ساخته می شود. هیچ چیزی
غیر از نقل ادله انجام می شود.

اگر می خواهید ورودی دستور همچنان طبق معمول توسط دستگاه گوارش rev-parse قبل از
خروجی نقل قول پوسته است، گزینه --sq را ببینید.

مثال
$ cat >your-git-script.sh <<\EOF
#!/ بن / شل
args=$(git rev-parse --sq-quote "$@") # نقل قول آرگومان های ارائه شده توسط کاربر
command="git frotz -n24 $args" # و از آن در یک دست ساز استفاده کنید
# خط فرمان
eval "$command"
EOF

$ sh your-git-script.sh "a BC"

مثال ها


· چاپ نام شیء commit فعلی:

$ git rev-parse --verify HEAD

· نام شی commit را از ویرایش در متغیر پوسته $REV چاپ کنید:

$ git rev-parse -- تأیید $REV^{commit}

اگر $REV خالی باشد یا یک نسخه معتبر نباشد، این خطا با خطا مواجه می شود.

· مشابه موارد فوق:

$ git rev-parse --default master --verify $REV

اما اگر $REV خالی باشد، نام شی commit از master چاپ خواهد شد.

GIT


بخشی از دستگاه گوارش(1) سوئیت

از git-rev-parse به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

  • 1
    Alt-F
    Alt-F
    Alt-F یک منبع باز و رایگان ارائه می دهد
    سیستم عامل جایگزین برای DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F دارای Samba و NFS است.
    پشتیبانی از ext2/3/4...
    Alt-F را دانلود کنید
  • 2
    اس ام اس
    اس ام اس
    Usm یک بسته نرم افزاری یکپارچه است
    مدیری که خودکار را مدیریت می کند
    حل وابستگی متحد می کند
    مخازن بسته های مختلف از جمله
    ظروف شلخته، سست، ص...
    usm را دانلود کنید
  • 3
    نمودار. js
    نمودار. js
    Chart.js یک کتابخانه جاوا اسکریپت است که
    به طراحان و توسعه دهندگان اجازه می دهد تا نقاشی کنند
    انواع نمودارها با استفاده از HTML5
    عنصر بوم Chart js عالی ارائه می دهد
    آرایه ...
    Chart.js را دانلود کنید
  • 4
    iReport-Designer برای JasperReports
    iReport-Designer برای JasperReports
    توجه: پشتیبانی از iReport/Jaspersoft Studio
    اطلاعیه: از نسخه 5.5.0،
    Jaspersoft Studio رسمی خواهد بود
    مشتری طراحی برای JasperReports. من گزارش میدم
    اراده...
    دانلود iReport-Designer برای JasperReports
  • 5
    PostInstallerF
    PostInstallerF
    PostInstallerF همه موارد را نصب می کند
    نرم افزار فدورا لینوکس و دیگران
    به طور پیش فرض شامل نمی شود، پس از
    اجرای فدورا برای اولین بار آن
    آسان برای ...
    PostInstallerF را دانلود کنید
  • 6
    تسمه
    تسمه
    پروژه strace منتقل شده است
    https://strace.io. strace is a
    تشخیصی، اشکال زدایی و آموزشی
    ردیاب فضای کاربران برای لینوکس. استفاده شده است
    برای نظارت بر یک ...
    دانلود strace
  • بیشتر "

دستورات لینوکس

Ad