این دستور git-fetch است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
git-fetch - اشیاء و ref ها را از یک مخزن دیگر دانلود کنید
خلاصه
دستگاه گوارش رفتن و آوردن [ ] [ [ ...]]
دستگاه گوارش رفتن و آوردن [ ]
دستگاه گوارش رفتن و آوردن --چند [ ] [( | )...]
دستگاه گوارش رفتن و آوردن --همه [ ]
شرح
واکشی شاخهها و/یا تگها (مجموعاً «refs») از یک یا چند مخزن دیگر،
همراه با اشیاء لازم برای تکمیل تاریخچه آنها. شاخه های ردیابی از راه دور هستند
به روز شده (به توضیحات مراجعه کنید در زیر راه هایی برای کنترل این رفتار وجود دارد).
به طور پیش فرض، هر برچسبی که به تاریخچه های در حال واکشی اشاره می کند نیز واکشی می شود. را
اثر واکشی تگ هایی است که به شاخه های مورد علاقه شما اشاره می کنند. این پیش فرض است
رفتار را می توان با استفاده از --tags یا --no-tags یا با پیکربندی تغییر داد
از راه دور. .tagOpt. با استفاده از refspec که تگ ها را به طور واضح واکشی می کند، می توانید برچسب ها را واکشی کنید
که به شاخه های مورد علاقه شما نیز اشاره نمی کند.
دستگاه گوارش رفتن و آوردن می تواند از یک مخزن یا URL با نام واحد و یا از چندین واکشی شود
مخازن در یک بار اگر داده می شود و یک ریموت وجود دارد. ورود در
فایل پیکربندی. (دیدن گیت(1).
هنگامی که هیچ کنترل از راه دور مشخص نشده است، به طور پیش فرض از راه دور مبدا استفاده می شود، مگر اینکه وجود داشته باشد
شاخه بالادست برای شاخه فعلی پیکربندی شده است.
اسامی ref هایی که واکشی می شوند، همراه با نام اشیائی که به آنها اشاره می کنند، هستند
به git/FETCH_HEAD. نوشته شده است. این اطلاعات ممکن است توسط اسکریپت ها یا سایر دستورات git استفاده شود،
مانند git-pull(1).
OPTIONS
--همه
همه ریموت ها را واکشی کنید.
-a، --پیوست
نام های ref و نام اشیاء ref های واکشی شده را به محتویات موجود اضافه کنید
git/FETCH_HEAD. بدون این گزینه، داده های قدیمی در .git/FETCH_HEAD بازنویسی می شوند.
--عمق=
واکشی را به تعداد مشخصی از تعهدات از نوک هر شاخه راه دور محدود کنید
تاریخ. اگر واکشی به a کم عمق مخزن ایجاد شده توسط git clone با --depth=
گزینه (نگاه کنید به git-clone(1))، تاریخچه را به تعداد مشخص شده عمیق یا کوتاه کنید
متعهد می شود. برچسبها برای تعهدات عمیقشده واکشی نمیشوند.
-- غیر سطحی
اگر مخزن منبع کامل است، یک مخزن کم عمق را به یک مخزن کامل تبدیل کنید.
حذف تمام محدودیت های تحمیل شده توسط مخازن کم عمق.
اگر مخزن منبع کم عمق است، تا آنجا که ممکن است واکشی کنید تا جریان
مخزن دارای تاریخچه ای مشابه با مخزن منبع است.
--به روز رسانی-کم عمق
به طور پیش فرض هنگام واکشی از یک مخزن کم عمق، git fetch آن را رد می کند
نیاز به به روز رسانی git/shallow دارد. این گزینه .git/shallow را به روز می کند و چنین مواردی را می پذیرد.
-- خشک اجرا شود
نشان دهید که چه کاری انجام می شود، بدون ایجاد هیچ تغییری.
-f، -- نیرو
چه زمانی دستگاه گوارش رفتن و آوردن با استفاده می شود : refspec، از به روز رسانی آن خودداری می کند
شعبه محلی مگر اینکه شعبه راه دور آن را واکشی یک نسل است
از . این گزینه آن بررسی را لغو می کند.
-k، -- نگه داشتن
بسته دانلود شده را نگه دارید
-- چندگانه
اجازه چندین و آرگومان هایی که باید مشخص شوند خیر ممکن است باشد
مشخص شده.
-p، -- هرس
پس از واکشی، هر مرجع ردیابی از راه دور را که دیگر در آن وجود ندارد حذف کنید
از راه دور. اگر برچسب ها فقط به دلیل واکشی باشند مشمول هرس نمی شوند
دنبال کردن خودکار تگ پیشفرض یا به دلیل وجود گزینه --tags. با این حال، اگر برچسبها به موقع واکشی شوند
به یک refspec صریح (چه در خط فرمان یا در پیکربندی راه دور، برای
به عنوان مثال اگر کنترل از راه دور با گزینه --mirror کلون شده باشد، آنها نیز موضوع هستند
به هرس
-n، --no-tags
به طور پیش فرض، برچسب هایی که به اشیایی که از مخزن راه دور دانلود می شوند اشاره می کنند
به صورت محلی واکشی و ذخیره می شوند. این گزینه این تگ خودکار زیر را غیرفعال می کند. در
رفتار پیش فرض برای یک کنترل از راه دور ممکن است با کنترل از راه دور مشخص شود. تنظیم tagOpt.
دیدن گیت(1).
--refmap=
هنگام واکشی ref های فهرست شده در خط فرمان، از refspec مشخص شده استفاده کنید (می توان داده شد
بیش از یک بار) برای نگاشت ref ها به شاخه های ردیابی راه دور، به جای مقادیر
remote.*.واکشی متغیرهای پیکربندی برای مخزن راه دور. بخش را ببینید
"شعبه های ردیابی از راه دور پیکربندی شده" برای جزئیات.
-t، -- برچسب ها
همه تگ ها را از راه دور واکشی کنید (یعنی تگ های راه دور refs/tags/* را به تگ های محلی واکشی کنید
با همین نام)، علاوه بر هر چیز دیگری که در غیر این صورت واکشی می شد. استفاده كردن
این گزینه به تنهایی تگ ها را تحت هرس قرار نمی دهد، حتی اگر از --prune استفاده شود (هر چند
اگر تگ ها مقصد یک refspec صریح نیز باشند، ممکن است به هر حال هرس شوند. دیدن
-- هرس کنید).
--recurse-submodules[=yes|در صورت تقاضا|نه]
این گزینه کنترل می کند که آیا و تحت چه شرایطی commit های جدید زیر ماژول های پر شده را انجام می دهد
نیز باید واکشی شود می توان از آن به عنوان یک گزینه بولی برای غیرفعال کردن کامل استفاده کرد
بازگشت زمانی که روی نه یا بدون قید و شرط به همه زیر ماژول های پرجمعیت بازگردید
هنگامی که تنظیم شده است بلهزمانی که این گزینه بدون هیچ مقداری استفاده می شود، پیش فرض است. استفاده کنید
بر اساس تقاضا فقط زمانی که ابرپروژه a را بازیابی می کند به یک زیر ماژول پرجمعیت بازگردد
commit که ارجاع زیر ماژول را به commitی که قبلاً در آن نبوده به روز می کند
کلون زیر ماژول محلی
--بدون بازگشت-زیر ماژول ها
واکشی بازگشتی زیر ماژول ها را غیرفعال کنید (این کار مانند استفاده از
--recurse-submodules=no گزینه).
--submodule-prefix=
آماده کردن به مسیرهای چاپ شده در پیام های آموزنده مانند "در حال واکشی زیر ماژول
foo". این گزینه به صورت داخلی هنگام تکرار روی زیر ماژول ها استفاده می شود.
--recurse-submodules-default=[بله|در صورت تقاضا]
این گزینه به صورت داخلی برای ارائه یک مقدار پیش فرض غیر منفی برای موقت استفاده می شود
گزینه --recurse-submodules. همه روشهای دیگر پیکربندی زیرماژول fetch
بازگشت (مانند تنظیمات در gitmodules(5) و گیت(1)) این گزینه را لغو کنید،
همانطور که مشخص کردن --[no-]recurse-submodules به طور مستقیم انجام می شود.
-u، --update-head-ok
به صورت پیش فرض دستگاه گوارش رفتن و آوردن از به روز رسانی هد مطابق با جریان خودداری می کند
شاخه. این پرچم چک را غیرفعال می کند. این صرفاً برای استفاده داخلی است دستگاه گوارش کشیدن
برای برقراری ارتباط با دستگاه گوارش رفتن و آوردن، و مگر اینکه شما در حال پیاده سازی پرسلن خود هستید
قرار نیست از آن استفاده کنند
-- آپلود-بسته
هنگامی که داده می شود، و مخزن برای واکشی توسط آن اداره می شود دستگاه گوارش واکشی بسته,
--exec= به دستور تعیین مسیر غیر پیش فرض برای
دستور در انتهای دیگر اجرا شود.
-q، --آرام
برای git-fetch-pack ---quiet عبور دهید و سایر دستورات git که در داخل استفاده می شوند را بی صدا کنید.
پیشرفت به جریان خطای استاندارد گزارش نشده است.
-v، -- پرحرف
پرحرف باشید
--پیش رفتن
وضعیت پیشرفت در جریان خطای استاندارد بهطور پیشفرض زمانی گزارش میشود
به یک ترمینال متصل است، مگر اینکه -q مشخص شده باشد. این پرچم حتی وضعیت پیشرفت را تحمیل می کند
اگر جریان خطای استاندارد به یک ترمینال هدایت نشود.
مخزن "راه دور" که منبع عملیات واکشی یا کشش است. این
پارامتر می تواند یک URL (به بخش GIT URLs زیر مراجعه کنید) یا نام یک کنترل از راه دور باشد
(به بخش ریموت در زیر مراجعه کنید).
نامی که به فهرستی از مخازن به عنوان مقدار ریموت ها اشاره دارد. در
فایل پیکربندی. (دیدن گیت(1).
مشخص میکند کدام مرجع واکشی و کدام مرجع محلی بهروزرسانی شود. وقتی نه س
در خط فرمان ظاهر می شود، refs برای واکشی از راه دور خوانده می شود. .رفتن و آوردن
به جای آن متغیرها (به شاخه های ردیابی از راه دور پیکربندی شده در زیر مراجعه کنید).
قالب الف پارامتر یک + اختیاری است که به دنبال آن منبع ref است
، و به دنبال آن یک علامت :، و به دنبال آن مرجع ref . روده بزرگ می تواند باشد
زمانی که حذف شد خالی است.
برچسب زدن یعنی همان refs/tags/ :refs/tags/ ; درخواست واکشی می کند
همه چیز تا تگ داده شده
داور از راه دور که مطابقت دارد واکشی شده است، و اگر رشته خالی نیست
داور محلی که با آن مطابقت دارد با استفاده از آن به سرعت جلو می رود . اگر مثبت + اختیاری باشد
استفاده می شود، مرجع محلی به روز می شود حتی اگر منجر به به روز رسانی سریع به جلو نباشد.
توجه داشته باشید:
زمانی که شاخه راه دوری که میخواهید واکشی کنید مشخص میشود که بازپیچیده شده و دوباره پایهگذاری میشود
به طور منظم، انتظار می رود که نوک جدید آن از نسل قبلی خود نباشد
نکته (همانطور که آخرین باری که واکشی کردید در شعبه ردیابی از راه دور ذخیره شده است). شما
میخواهد از علامت + برای نشان دادن بهروزرسانیهای غیرسریع استفاده کند
برای چنین شاخه هایی هیچ راهی برای تعیین یا اعلام اینکه یک شعبه خواهد بود وجود ندارد
با این رفتار در یک مخزن در دسترس قرار گرفته است. کاربر کشنده به سادگی باید
بدانید که این الگوی استفاده مورد انتظار برای یک شاخه است.
GIT آدرس های اینترنتی
به طور کلی، URL ها حاوی اطلاعاتی در مورد پروتکل حمل و نقل، آدرس آن هستند
سرور راه دور و مسیر مخزن. بسته به پروتکل حمل و نقل، برخی از
این اطلاعات ممکن است وجود نداشته باشد.
Git از پروتکل های ssh، git، http و https پشتیبانی می کند (علاوه بر این، می توان از ftp و ftps استفاده کرد.
for fetching و rsync را می توان برای واکشی و هل دادن استفاده کرد، اما اینها ناکارآمد هستند و
منسوخ؛ از آنها استفاده نکنید).
انتقال بومی (به عنوان مثال git:// URL) احراز هویت نمی کند و باید با آن استفاده شود
احتیاط در مورد شبکه های ناامن
سینتکس های زیر ممکن است با آنها استفاده شود:
· ssh://[user@]host.xz[:port]/path/to/repo.git/
· git://host.xz[:port]/path/to/repo.git/
· http[s]://host.xz[:port]/path/to/repo.git/
· ftp[s]://host.xz[:port]/path/to/repo.git/
· rsync://host.xz/path/to/repo.git/
ممکن است یک نحو جایگزین scp مانند با پروتکل ssh نیز استفاده شود:
· [user@]host.xz:path/to/repo.git/
این نحو فقط در صورتی تشخیص داده می شود که قبل از اولین دو نقطه اسلش وجود نداشته باشد. این کمک می کند
یک مسیر محلی که حاوی یک کولون است را متمایز کنید. به عنوان مثال مسیر محلی foo:bar می تواند
به عنوان یک مسیر مطلق یا ./foo:bar مشخص شود تا از تعبیر نادرست به عنوان URL ssh جلوگیری شود.
پروتکل های ssh و git علاوه بر این از گسترش نام کاربری ~ پشتیبانی می کنند:
· ssh://[user@]host.xz[:port]/~[user]/path/to/repo.git/
· git://host.xz[:port]/~[user]/path/to/repo.git/
· [user@]host.xz:/~[user]/path/to/repo.git/
برای مخازن محلی، که به صورت بومی توسط Git نیز پشتیبانی میشوند، سینتکسهای زیر ممکن است وجود داشته باشند
استفاده شده:
· /path/to/repo.git/
· file:///path/to/repo.git/
این دو نحو عمدتاً معادل هستند، به جز هنگام شبیهسازی که اولی دلالت دارد
- گزینه محلی دیدن git-clone(1) برای جزئیات.
وقتی Git نمی داند چگونه با یک پروتکل حمل و نقل خاص مدیریت کند، سعی می کند از آن استفاده کند
از راه دور- کمک از راه دور، در صورت وجود. برای درخواست صریح کمک از راه دور،
ممکن است از نحو زیر استفاده شود:
· ::
جایی که ممکن است یک مسیر، یک سرور و مسیر، یا یک رشته URL مانند دلخواه باشد
توسط کمکی از راه دور خاص که فراخوانی می شود شناسایی می شود. دیدن gitremote-helpers(1) برای
جزئیات.
اگر تعداد زیادی مخزن راه دور با نام مشابه وجود دارد و می خواهید از a استفاده کنید
فرمت های مختلف برای آنها (مانند URL هایی که استفاده می کنید در URL هایی بازنویسی می شوند
work)، می توانید یک بخش پیکربندی فرم ایجاد کنید:
[url" "]
به جای =
مثلا با این:
[url "git://git.host.xz/"]
наместо host.xz:/path/to/
جایگزین = کار:
یک URL مانند "work:repo.git" یا مانند "host.xz:/path/to/repo.git" در هر موردی بازنویسی می شود.
زمینه ای که URL را به صورت "git://git.host.xz/repo.git" می گیرد.
اگر می خواهید URL ها را فقط برای فشار بازنویسی کنید، می توانید یک بخش پیکربندی از آن ایجاد کنید
فرم:
[url" "]
pushInsteadOf =
مثلا با این:
[url "ssh://example.org/"]
pushInsteadOf = git://example.org/
یک URL مانند "git://example.org/path/to/repo.git" بازنویسی می شود
"ssh://example.org/path/to/repo.git" برای هل دادن، اما کشش ها همچنان از نسخه اصلی استفاده می کنند
URL.
از راه دور
نام یکی از موارد زیر را می توان به جای URL as استفاده کرد بحث و جدل:
یک کنترل از راه دور در فایل پیکربندی Git: $GIT_DIR/config،
یک فایل در دایرکتوری $GIT_DIR/remotes یا
یک فایل در دایرکتوری $GIT_DIR/branches.
همه اینها همچنین به شما این امکان را میدهند که refspec را از خط فرمان حذف کنید زیرا هر کدام از آنها هستند
حاوی یک refspec است که git به طور پیش فرض از آن استفاده خواهد کرد.
تحت عنوان دور in پیکر بندی پرونده
میتوانید نام کنترلی را که قبلاً با استفاده از آن پیکربندی کردهاید، ارائه کنید
git-remote(1) گیت(1) یا حتی با ویرایش دستی فایل $GIT_DIR/config. URL
از این ریموت برای دسترسی به مخزن استفاده خواهد شد. مشخصات این ریموت خواهد بود
زمانی که شما یک refspec در خط فرمان ارائه نمی کنید به طور پیش فرض استفاده می شود. ورود در
فایل کانفیگ به شکل زیر ظاهر می شود:
[از راه دور " "]
آدرس =
pushurl =
فشار =
واکشی =
در فقط برای هل استفاده می شود. اختیاری است و به صورت پیش فرض می باشد .
تحت عنوان پرونده in $GIT_DIR/ریموت
شما می توانید انتخاب کنید که نام یک فایل در $GIT_DIR/remotes ارائه شود. آدرس موجود در این فایل
برای دسترسی به مخزن استفاده خواهد شد. refspec در این فایل به عنوان پیش فرض استفاده خواهد شد
هنگامی که شما یک refspec در خط فرمان ارائه نمی کنید. این فایل باید موارد زیر را داشته باشد
قالب:
URL: یکی از قالب های URL بالا
فشار دادن:
کشیدن:
فشار: خطوط توسط دستگاه گوارش فشار و Pull: خطوط توسط استفاده می شود دستگاه گوارش کشیدن و دستگاه گوارش رفتن و آوردن.
خطوط فشار چندگانه: و کشش: ممکن است برای نگاشت شاخه های اضافی مشخص شوند.
تحت عنوان پرونده in $GIT_DIR/شاخه
میتوانید انتخاب کنید که نام یک فایل در $GIT_DIR/شاخهها ارائه شود. آدرس موجود در این فایل
برای دسترسی به مخزن استفاده خواهد شد. این فایل باید فرمت زیر را داشته باشد:
#
مورد نیاز است؛ # اختیاری است
بسته به عملیات، git از یکی از موارد زیر استفاده می کند، اگر این کار را نکنید
یکی را در خط فرمان ارائه کنید. نام این فایل در $GIT_DIR/branches است
و به طور پیش فرض به استاد می رسد.
کاربردهای git fetch:
refs/heads/ :refs/heads/
کاربردهای git push:
HEAD:refs/heads/
پیکربندی شده است ردیابی از راه دور شاخه ها
شما اغلب با واکشی منظم و مکرر با همان مخزن راه دور تعامل دارید
از آن. به منظور پیگیری پیشرفت چنین مخزن راه دور، git fetch
به شما امکان می دهد ریموت را پیکربندی کنید. واکشی متغیرهای پیکربندی.
معمولاً چنین متغیری ممکن است به شکل زیر باشد:
["منشا" از راه دور]
fetch = +refs/heads/*:refs/remotes/origin/*
این پیکربندی به دو صورت استفاده می شود:
· هنگامی که واکشی git بدون مشخص کردن چه شاخهها و/یا برچسبهایی برای واکشی اجرا میشود
خط فرمان، به عنوان مثال git fetch مبدا یا git fetch، از راه دور. واکشی مقادیر
به عنوان refspecs استفاده می شود - آنها مشخص می کنند که کدام رج واکشی شود و کدام مرجع محلی
به روز رسانی. مثال بالا تمام شاخههایی را که در مبدا وجود دارند (یعنی هر کدام
ref که با سمت چپ مقدار مطابقت دارد، refs/heads/*) و به روز رسانی کنید
شاخه های ردیابی از راه دور مربوطه در سلسله مراتب refs/remotes/origin/*.
· هنگامی که واکشی git با شاخه ها و/یا تگ های صریح برای واکشی در خط فرمان اجرا می شود،
به عنوان مثال git fetch origin master, the s داده شده در خط فرمان تعیین می کند که چه
باید واکشی شوند (مثلاً master در مثال، که مختصری برای master است:،
که به نوبه خود به معنای "برآوردن". استاد شعبه اما من به صراحت نمی گویم چه
شاخه ردیابی از راه دور برای به روز رسانی با آن از خط فرمان")، و مثال
دستور واکشی خواهد شد فقط la استاد شاخه. کنترل. واکشی مقادیر
تعیین کنید که کدام شاخه ردیابی از راه دور، در صورت وجود، به روز شده است. هنگامی که به این روش استفاده می شود،
از راه دور. مقادیر fetch هیچ تاثیری در تصمیم گیری ندارند چی واکشی می شود
(یعنی زمانی که خط فرمان refspecs را لیست می کند، از مقادیر به عنوان refspecs استفاده نمی شود). آنها
فقط برای تصمیم گیری استفاده می شوند جایی که ref هایی که واکشی می شوند با عمل به عنوان a ذخیره می شوند
نقشه برداری.
استفاده دوم از راه دور. مقادیر .fetch را می توان با دادن عبارت لغو کرد
--refmap= پارامتر(های) در خط فرمان
مثال ها
· به روز رسانی شاخه های ردیابی از راه دور:
$ git واکشی منبع
دستور بالا همه شاخه ها را از فضای نام راه دور refs/heads/ و ذخیره می کند
آنها را به refs/remotes/origin/ namespace محلی، مگر اینکه شاخه. .رفتن و آوردن
گزینه برای تعیین refspec غیر پیش فرض استفاده می شود.
· استفاده صریح از refspecs:
$ git fetch origin +pu:pu maint:tmp
این به روز رسانی (یا ایجاد، در صورت لزوم) شاخه های pu و tmp در مخزن محلی توسط
واکشی از شاخه ها (به ترتیب) pu و maint از مخزن راه دور.
شاخه pu بهروزرسانی میشود، حتی اگر سریع جلو نرود، زیرا همینطور است
پیشوند با علامت مثبت؛ tmp نخواهد بود.
· بدون پیکربندی کنترل از راه دور در مخزن محلی خود، به شعبه یک کنترل از راه دور نگاه کنید:
$ git واکشی git://git.kernel.org/pub/scm/git/git.git maint
گزارش git $ FETCH_HEAD
اولین دستور شاخه maint را از مخزن در واکشی می کند
git://git.kernel.org/pub/scm/git/git.git و فرمان دوم از FETCH_HEAD برای
بررسی شعبه با گیت(1). اشیاء واکشی شده در نهایت توسط حذف خواهند شد
خانه داری داخلی git (نگاه کنید به git-gc(1).
با استفاده از خدمات onworks.net از git-fetch آنلاین استفاده کنید