۵ محمدجوکار
چند ابهام درباره کامند push
جامعه پی اچ پی ایجاد شده در ۳۰ فروردین ۱۴۰۲

با سلام و احترام

من فکر میکنم کدی که هایلایت شده، داره میگه پوشی که قراره اتفاق بیافته، باید بره و در برنچ مستر جا بگیره

اگر این تفسیرِ من درست باشه، خب حالا برام سوال پیش میاد که در کدهای پایین‌تر، all-- یا tags-- به چه معنیه؟؟؟ ممنون میشم صحیحش رو توضیح بدید ...

4457-Screenshot (99).png

لطفا در باره کامند u- هم که قبل از origin میاد یه توضیح کوچیک بدید

محمدجوکار ۳۰ فروردین ۱۴۰۲، ۰۰:۴۳

سلام محمد عزیز

بله، تفسیر شما از کدی که هایلایت شده درست است. این کد برای push کردن تغییرات از برنچ فعلی (current branch) به برنچ اصلی (master branch) استفاده می‌شود.

در مورد کدهای پایین‌تر، all-- یا tags-- برای نشان دادن این است که تمام تگ‌ها (tags) یا تمام برنچ‌ها (branches) باید حذف شوند. به عنوان مثال، دستور "git push --all--" تمامی برنچ‌های موجود در مخزن گیت‌هاب شما را حذف خواهد کرد.

در مورد "-u"، این کامند به عنوان "upstream" در نظر گرفته می‌شود و به گیت می‌گوید که باید برای push کردن تغییرات، از برنچ دیفالت (به عنوان مثال master) به عنوان برنچ اصلی استفاده کند. به عبارت دیگر، بعد از اجرای دستور "git push -u origin master"، برای push کردن تغییرات بعدی، شما می‌توانید فقط دستور "git push" را اجرا کنید، به دلیل اینکه گیت به یاد داشته است که باید تغییرات را به برنچ master در origin push کند.

احمدرضا فاطمی کیا ۳۰ فروردین ۱۴۰۲، ۰۴:۰۳

در ابتدا ممنونم از پاسخگوییتون

در رابطه با all-- و یا tags-- سوالی که پیش میاد:

ما در git push -u origin --all، الان داریم میگیم یه پروژه هست که از قبل با گیت هندل شده، و حالا بیا برام بفرستش روی گیت‌هاب و کاری هم که میکنی، اینه که تمامی برنچ‌هاشو دیلیت کن و فقط یدونه برنچ بزار برای کل پروژه؟؟؟

در حقیقت اینطوریه که وقتی ما پروژه رو فقط میخوایم بزاریم روی گیت‌هاب باشتش، نیاز نداره دیگه که برنچی هم داشته باشه؟ یعنی دیگه خاصیتی نمیتونه داشته باشه برنچ‌ها؟؟؟


سوال بعدیم: تگ‌ها چی هستن که میگیم حذفشون کن؟؟


سوال نهایی:

در این قطعه کد git push -u origin --all وقتی دستور u- رو میزاریم، به این معناست که هر بارِ دیگه‌ای دستور push اجرا شد،حتی اگه ما ننوشتیم، باز هم همچنان all-- روشون اعمال باشه؟؟


من ترکیبشو متوجه نشدم

محمدجوکار ۳۰ فروردین ۱۴۰۲، ۱۴:۲۶
  1. در مورد دستور "git push -u origin --all": با استفاده از این دستور، شما تمامی برنچ‌های موجود در مخزن گیت‌هاب خود را به همراه تمام تغییرات آن‌ها، بر روی گیت‌هاب push خواهید کرد. در واقع، با اجرای این دستور، شما تمامی تاریخچه‌ی تغییرات را بر روی گیت‌هاب ذخیره خواهید کرد. اگر شما نمی‌خواهید تمامی برنچ‌ها را push کنید، می‌توانید از دستور "git push -u origin master" استفاده کنید تا فقط برنچ master را push کنید.
  2. در مورد تگ‌ها (tags): تگ‌ها نوع دیگری از مرجع‌های مخزن هستند که برای نشان دادن نسخه‌های خاصی از کد بکار می‌روند. با استفاده از تگ‌ها، شما می‌توانید به راحتی به نسخه‌های مختلفی از پروژه دسترسی پیدا کنید. با دستور "git push --tags--"، تمامی تگ‌های موجود در مخزن گیت‌هاب حذف خواهند شد.
  3. در مورد "-u" در دستور "git push -u origin --all": این کامند، یک برنامه‌ریزی را برای push کردن تغییرات آینده‌ی شما به گیت‌هاب تعیین می‌کند. با استفاده از این کامند، شما به گیت می‌گویید که برای push کردن تغییرات بعدی، از برنچ دیفالت (معمولاً master) استفاده کند. بنابراین، هر بار که شما دستور "git push" را اجرا می‌کنید، گیت خودکاراً برای push کردن تغییرات به برنچ دیفالت رفته و تغییرات را push خواهد کرد.
  4. به نظرم زیاد روی این موارد زوم نکنید چون به مرور و با کار با این موارد متوجهشون میشید.
بهترین پاسخ
احمدرضا فاطمی کیا ۳۰ فروردین ۱۴۰۲، ۱۷:۰۳

یکدنیا تشکر از توضیحاتتون ???

محمدجوکار ۳۱ فروردین ۱۴۰۲، ۰۲:۱۹