Git تنبل است (و اشکالی ندارد)

Summarize this content to 400 words in Persian Lang
کنترل منبع Git جایی پشت بیشتر نرم افزارهایی است که ما امروز روی آن کار می کنیم. استفاده از آن کمی شهرت دارد.
بسته به گردش کارتان، ممکن است متوجه نباشید چقدر تنبل git است، و این می تواند باعث سردرد شما شود.
توسعه توزیع شده تنبل است
Git از توسعه توزیع شده پشتیبانی می کند. برخلاف کنترل نسخه متمرکز که معمولاً زمانی که یک برنامهنویس در حال تغییر فایلها است، آنها را قفل میکند، چندین نفر میتوانند همزمان تغییراتی ایجاد کنند و سرور «مرکزی» یک انتخاب، الزامی نیست.
همچنین به شما امکان می دهد چندین شاخه و چندین منبع راه دور، و این منابع لازم نیست همگام باشند. هسته لینوکس، که git برای آن توسعه یافته است، از لایه های سرور برای جمع آوری تغییرات استفاده می کند.
با git، ریموت های شما حتی لازم نیست که باشند سرورها. و git فرض نمی کند که بتواند با سرور ارتباط برقرار کند. حتی فرض نمیکند که اتصال شبکه دارید!
به همین دلیل، Git کاری را که شما به آن نگویید انجام نمی دهد. در دنیای مدرن ما که به شدت متصل است، ایده ابزاری که هرگز بدون اینکه شما به آن بگویید بررسی نمی شود، می تواند نابجا به نظر برسد. حتی می تواند برای توسعه دهندگان سردرد ایجاد کند، بنابراین مهم است که به خاطر بسپارید.
اضافه کردن کنترل از راه دور – به طور جدی تنبل
واضح ترین نمایش تنبلی git اضافه کردن یک کنترل از راه دور جدید است. اگر یک پروژه عمومی را فورک کرده اید، فورک خود را شبیه سازی می کنید و به عنوان فهرست می شود origin به طور پیش فرض اگر می خواهید کار را از پروژه اصلی بیرون بکشید، می توانید یک را اضافه کنید upstream از راه دور
git remote add upstream git@github.com:some/repo.git
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اگر از ابزار یا ادغام برای git استفاده میکنید، ممکن است این را پنهان کند، اما اگر این کار را نکنید متوجه خواهید شد که تا زمانی که اجرا نکنید، نمیتوانید چیزی را از کنترل از راه دور بررسی کنید. دستور دیگری:
git fetch upstream
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
در واقع، هنگام ایجاد یک کنترل از راه دور بدون ایجاد هیچ خطایی، می توانید اطلاعات کاملاً نامعتبر را ارائه دهید.
git remote add whoops htp:/mistake
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اگر از آن کنترل از راه دور واکشی نکنید، انگار وجود ندارد.
بررسی شعب – به طرز ظریفی تنبل
این جایی است که سردرد می تواند از آن سرچشمه بگیرد. وقتی برای بررسی شعبه ای از ریموت می روید، ممکن است فرض کنید به روز است.
git checkout –track origin/my-feature
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
و git ممکن است حتی به شما بگویم به روز است اما فقط به آخرین واکشی شما به روز شده است! اگر مدتی است کد واکشی نکرده اید، ممکن است شبیه سازی مخزن شما باشد کهنه.
به روز رسانی فایل – تا حدودی تنبل
هنگامی که شما تغییری در فایل موجود ایجاد می کنید، git تشخیص می دهد که فایل دارای تغییرات است. برخی از دستورات به طور خودکار ضبط می شوند تغییر کرد فایل، اما ضبط نمی شود جدید فایل ها مستندات برای git commit -a اعلام می کند که به طور خاص برای فایل های اصلاح شده یا حذف شده است.
git commit -am ‘Commit only modified (including deleted) files’
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
در حال حرکت فایل ها – منحصر به فرد تنبل
Git می تواند فایل های منتقل شده یا تغییر نام داده شده را شناسایی کند و git mv می تواند با آن کمک کند، اما اگر شما اصلاح کنید فایل پس از یک حرکت بدون اینکه ابتدا آن را انجام دهد، git معمولاً فکر می کند شما یک فایل را حذف کرده اید و دیگری ایجاد کرده اید.
این ممکن است خیلی مهم به نظر نرسد، تا زمانی که متوجه شوید که تمام تاریخچه git از قبل از انتقال دیگر با فایل منتقل شده مرتبط نیست، که می تواند ردیابی تغییرات در طول تاریخ را دشوار کند.
فایل های منتقل شده یا تغییر نام داده شده باید قبل از هر گونه تغییر دیگری متعهد شوند.
تنبل بد نیست
این مقاله ممکن است به نظر برسد که git باید اصلاح شود، اما تمرکز بر درک ابزارهای ما است.
افزودن کنترل از راه دور بدون تأیید همچنان بدون اتصال به اینترنت یا زمانی که سرور خاموش است کار می کند.
ما همیشه میتوانیم یک شاخه جدید را بدون منتظر همگامسازی راهاندازی کنیم، بنابراین میتوانیم اکنون روی کد تمرکز کنیم و در زمان دیگری با ادغامها یا تغییر پایهها مقابله کنیم.
لازم نیست نگران باشیم که فایلهای خروجی آزمایشی موقت متعهد میشوند زیرا فایلهای جدید بهطور خودکار اضافه نمیشوند.
نتیجه گیری
Git ابزاری قدرتمند و پیچیده با قابلیت های بسیاری است که به ندرت از آن استفاده خواهیم کرد. درک کمی بیشتر در مورد نحوه عملکرد آن می تواند سردرگمی و ناامیدی را برطرف کند. و فراموش نکنید که وقتی گیر کردید دفترچه راهنما را بخوانید.
آیا طرز فکر متفاوتی در مورد git دارید یا نکاتی برای اطمینان از اینکه در مورد به روز بودن آن اشتباه نمی کنید؟ من دوست دارم در مورد آن بشنوید!
کنترل منبع Git جایی پشت بیشتر نرم افزارهایی است که ما امروز روی آن کار می کنیم. استفاده از آن کمی شهرت دارد.
بسته به گردش کارتان، ممکن است متوجه نباشید چقدر تنبل git است، و این می تواند باعث سردرد شما شود.
توسعه توزیع شده تنبل است
Git از توسعه توزیع شده پشتیبانی می کند. برخلاف کنترل نسخه متمرکز که معمولاً زمانی که یک برنامهنویس در حال تغییر فایلها است، آنها را قفل میکند، چندین نفر میتوانند همزمان تغییراتی ایجاد کنند و سرور «مرکزی» یک انتخاب، الزامی نیست.
همچنین به شما امکان می دهد چندین شاخه و چندین منبع راه دور، و این منابع لازم نیست همگام باشند. هسته لینوکس، که git برای آن توسعه یافته است، از لایه های سرور برای جمع آوری تغییرات استفاده می کند.
با git، ریموت های شما حتی لازم نیست که باشند سرورها. و git فرض نمی کند که بتواند با سرور ارتباط برقرار کند. حتی فرض نمیکند که اتصال شبکه دارید!
به همین دلیل، Git کاری را که شما به آن نگویید انجام نمی دهد. در دنیای مدرن ما که به شدت متصل است، ایده ابزاری که هرگز بدون اینکه شما به آن بگویید بررسی نمی شود، می تواند نابجا به نظر برسد. حتی می تواند برای توسعه دهندگان سردرد ایجاد کند، بنابراین مهم است که به خاطر بسپارید.
اضافه کردن کنترل از راه دور – به طور جدی تنبل
واضح ترین نمایش تنبلی git اضافه کردن یک کنترل از راه دور جدید است. اگر یک پروژه عمومی را فورک کرده اید، فورک خود را شبیه سازی می کنید و به عنوان فهرست می شود origin
به طور پیش فرض اگر می خواهید کار را از پروژه اصلی بیرون بکشید، می توانید یک را اضافه کنید upstream
از راه دور
git remote add upstream git@github.com:some/repo.git
اگر از ابزار یا ادغام برای git استفاده میکنید، ممکن است این را پنهان کند، اما اگر این کار را نکنید متوجه خواهید شد که تا زمانی که اجرا نکنید، نمیتوانید چیزی را از کنترل از راه دور بررسی کنید. دستور دیگری:
git fetch upstream
در واقع، هنگام ایجاد یک کنترل از راه دور بدون ایجاد هیچ خطایی، می توانید اطلاعات کاملاً نامعتبر را ارائه دهید.
git remote add whoops htp:/mistake
اگر از آن کنترل از راه دور واکشی نکنید، انگار وجود ندارد.
بررسی شعب – به طرز ظریفی تنبل
این جایی است که سردرد می تواند از آن سرچشمه بگیرد. وقتی برای بررسی شعبه ای از ریموت می روید، ممکن است فرض کنید به روز است.
git checkout --track origin/my-feature
و git ممکن است حتی به شما بگویم به روز است اما فقط به آخرین واکشی شما به روز شده است! اگر مدتی است کد واکشی نکرده اید، ممکن است شبیه سازی مخزن شما باشد کهنه.
به روز رسانی فایل – تا حدودی تنبل
هنگامی که شما تغییری در فایل موجود ایجاد می کنید، git تشخیص می دهد که فایل دارای تغییرات است. برخی از دستورات به طور خودکار ضبط می شوند تغییر کرد فایل، اما ضبط نمی شود جدید فایل ها مستندات برای git commit -a
اعلام می کند که به طور خاص برای فایل های اصلاح شده یا حذف شده است.
git commit -am 'Commit only modified (including deleted) files'
در حال حرکت فایل ها – منحصر به فرد تنبل
Git می تواند فایل های منتقل شده یا تغییر نام داده شده را شناسایی کند و git mv
می تواند با آن کمک کند، اما اگر شما اصلاح کنید فایل پس از یک حرکت بدون اینکه ابتدا آن را انجام دهد، git معمولاً فکر می کند شما یک فایل را حذف کرده اید و دیگری ایجاد کرده اید.
این ممکن است خیلی مهم به نظر نرسد، تا زمانی که متوجه شوید که تمام تاریخچه git از قبل از انتقال دیگر با فایل منتقل شده مرتبط نیست، که می تواند ردیابی تغییرات در طول تاریخ را دشوار کند.
فایل های منتقل شده یا تغییر نام داده شده باید قبل از هر گونه تغییر دیگری متعهد شوند.
تنبل بد نیست
این مقاله ممکن است به نظر برسد که git باید اصلاح شود، اما تمرکز بر درک ابزارهای ما است.
- افزودن کنترل از راه دور بدون تأیید همچنان بدون اتصال به اینترنت یا زمانی که سرور خاموش است کار می کند.
- ما همیشه میتوانیم یک شاخه جدید را بدون منتظر همگامسازی راهاندازی کنیم، بنابراین میتوانیم اکنون روی کد تمرکز کنیم و در زمان دیگری با ادغامها یا تغییر پایهها مقابله کنیم.
- لازم نیست نگران باشیم که فایلهای خروجی آزمایشی موقت متعهد میشوند زیرا فایلهای جدید بهطور خودکار اضافه نمیشوند.
نتیجه گیری
Git ابزاری قدرتمند و پیچیده با قابلیت های بسیاری است که به ندرت از آن استفاده خواهیم کرد. درک کمی بیشتر در مورد نحوه عملکرد آن می تواند سردرگمی و ناامیدی را برطرف کند. و فراموش نکنید که وقتی گیر کردید دفترچه راهنما را بخوانید.
آیا طرز فکر متفاوتی در مورد git دارید یا نکاتی برای اطمینان از اینکه در مورد به روز بودن آن اشتباه نمی کنید؟ من دوست دارم در مورد آن بشنوید!