آموزش GitHub
۹ آموزش
نمایش دسته بندی ها (۹ آموزش)

هنگام ارسال (push کردن) یک مخزن (Repository) که از قبل در کامپیوتر شخصی خود داریم به مخزن (Repository) درون GitHub (با Git)، اگر مخزن GitHub فایل ها یا کدهایی دیگر داشته باشد، چه اتفاقی می افتد ؟ ، در GitHub

قبلا در آموزش زیر در مورد ارسال (push کردن) یک مخزن (Repository) که از قبل در کامپیوتر شخصی خود داریم به مخزن (Repository) درون GitHub صحبت کردیم :

در آموزش بالا، مخزن (Repository) درون GitHub خالی بود و با استفاده از دستور git push همه فایل های مخزنی (Repository) که از قبل در کامپیوتر شخصی خود داشتیم را به مخزن (Repository) درون GitHub ارسال می کردیم. چون مخزن (Repository) درون GitHub خالی بود، نگرانی در مورد محتوای آن وجود نداشت.

هر بار که ما کدهای جدیدی در مخزن (Repository) محلی در کامپیوتر خود داشته باشیم باید مجددا از دستور git push استفاده کنیم تا تغییرات در مخزن (Repository) درون GitHub اعمال شود. ولی اگر مخزن (Repository) درون GitHub دارای فایل ها و کدهایی اضافه بر فایل ها و کدهای محلی ما باشد، چه اتفاقی می افتد ؟ مثلا اگر شخص دیگری کمی کد در آن پروژه در مخزن (Repository) درون GitHub نوشته باشد، اکنون با اجرای دستور git push چه اتفاقی می افتد ؟ یا مثلا خودمان از طریق سایت github.com فایلی را در پروژه ساخته باشیم یا اینکه فایلی را در آن آپلود کرده باشیم که در پروژه ما در کامپیوتر شخصی ما وجود نداشته باشد، در این حالت با اجرای دستور git push در Git نصب شده روی کامپیوتر ما، چه اتفاقی می افتد ؟

اگر مخزن GitHub فایل های جدیدی دارد که شما در کامپیوتر خود ندارید (و شما دستور git push را اجرا می کنید):

در این حالت، گیت (Git) اجازه نمی دهد که پوش (push) انجام شود. خطای زیر را دریافت می کنید:

هنگام ارسال (push کردن) یک مخزن (Repository) که از قبل در کامپیوتر شخصی خود داریم به مخزن (Repository) درون GitHub (با Git)، اگر مخزن GitHub فایل ها یا کدهایی دیگر داشته باشد، چه اتفاقی می افتد ؟ ، در GitHub
هنگام ارسال (push کردن) یک مخزن (Repository) که از قبل در کامپیوتر شخصی خود داریم به مخزن (Repository) درون GitHub (با Git)، اگر مخزن GitHub فایل ها یا کدهایی دیگر داشته باشد، چه اتفاقی می افتد ؟ ، در GitHub

دلیل: گیت (Git) می گوید «مخزن راه دور از مخزن محلی شما جلوتر است. برای اینکه تغییرات خود را گم نکنی، اول باید تغییرات راه دور را بکشی (pull) و بعد پوش (push) کنی.»

پس در این حالت: هیچ فایلی به گیت هاب (GitHub) فرستاده نمی شود و هیچ فایلی از گیت هاب (GitHub) به کامپیوتر شما دانلود نمی شود. عملا عملیات متوقف می شود.

استفاده از دستور git pull (یا git fetch ) :

اگر مخزن گیت هاب (GitHub) فایل های جدید دارد، شما باید ابتدا دستور git pull را بزنید (یا git fetch ):

git pull : تغییرات (فایل های جدید) را از گیت هاب (GitHub) دانلود (دریافت) می کند و با مخزن محلی شما ادغام (merge) می کند. یعنی فایل های جدید به کامپیوتر شما می آیند.

بعد از انجام این کار، حالا مخزن محلی شما با گیت هاب (GitHub) همسان شده است و می توانید با خیال راحت git push کنید تا تغییرات جدید خودتان را به گیت هاب (GitHub) بفرستید.

اگر مخزن گیت هاب (GitHub) فایل جدید دارد، ولی شما اصرار به پوش (push) دارید (با دستور git push --force ):

اگر از Force Push استفاده کنید، به گیت دستور می دهید «تاریخچه راه دور را نادیده بگیر و تاریخچه من را جایگزین کن».

در این حالت:

هیچ فایلی از گیت هاب (GitHub) به کامپیوتر شما دانلود نمی شود.

فایل های جدید موجود در گیت هاب (GitHub) پاک می شوند و از بین می روند (چون تاریخچه محلی شما جایگزین تاریخچه راه دور می شود).

توجه: این کار بسیار خطرناک است و باعث از دست رفتن کار دیگران می شود.

نویسنده علیرضا گلمکانی
شماره کلید 14516
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)