گیت چیست؟ چرا باید از Git استفاده کنیم؟!
به عنوان یک برنامه نویس ، شاید خیلی از وقت ها به تنهایی به طراحی و برنامه نویسی بپردازیم و پس از آن نرم افزار را به سادگی بارگذاری و تست کنیم.
این روش زمانی کاربرد دارد که ما پروژه ها کوچک اند و یکنفره انجام می شوند.
اما اگر نیاز شود بطور تیمی بر روی پروژه کار کنید چطور؟ مخصوصا یک پروژه بزرگ با کلی فایل برنامه نویسی.
مسئله پیچیده شد ، نه؟
اینجاست که سرویسی به نام کنترل نسخه (Version Control) وارد میدان می شود.
امروز می خواهیم در مورد نرم افزار کدبازی(Open Source) بنام گیت صحبت کنیم.
این نرم افزار به تیم تان اجازه می دهد که بصورت همزمان بر روی یک پروژه کار کنید ، در عین حال مشکل و تداخلی نیز برای پروژه شما پیش نمی آید.
البته نرم افزار گیت کارهای بیشتری هم انجام می دهد.
چرا باید از یک نرم افزار کنترل نسخه استفاده کنیم؟
نرم افزار کنترل نسخه به شما اجاره می دهد تا نسخه های مختلفی از پروژه ی خود داشته باشید و گزارشی نیز از تغییرات اعمال شده بر روی پروژه به شما می دهد.
با این سرویس به سادگی می توانید هر موقع که خواستید کد های قبلی را بازگردانید ، این امکان در زمانی که پروژه با مشکلی بزرگ برخورد کرده است بسیار کارآمد خواهد بود.
اگر توسعه دهندگان بیش از یک نفر باشند ، چه اتفاقی می افتد؟
اینجاست که ایده نرم افزار کنترل نسخه مرکزی مطرح می شود.
در نرم افزار کنترل نسخه مرکزی ، تمامی نسخه های پروژه شما بر روی یک سرور مرکزی ذخیره می گردد و توسعه دهندگان دیگر می توانند آن را دانلود کرده و یا تغییراتی را در آن ها اعمال کنند.
اگر تابحال به گزارش تغییرات یک صفحه در ویکیپدیا نگاهی انداخته باشید ، به سادگی این موضوع را درک خواهید کرد.
خوبی این نوع سرویس این است که توسعه دهندگان مختلفی می توانند بر روی یک پروژه کار کنند و هر تغییر نیز به نام همان توسعه دهنده ثبت می گردد.
بدی این سرویس هم این است که اگر سرور مورد نظر با مشکل مواجه شود ، دیگر امکان اعمال تغییر در بانک اطلاعات مرکزی وجود ندارد و اگر اطلاعات بانک اطلاعات مرکزی از بین برورد ، توسعه دهندگان تنها آخرین نسخه از کد های خود را در اختیار خواهند داشت.
روش دیگری نیز وجود دارد. روشی که به آن سیستم کنترل نسخه توزیع شده یا Distributed version control systems می گویند.
در این روش دیگر توسعه دهندگان تنها آخرین نسخه تغییرات را ندارند بلکه بسته کاملی از تغییرات ثبت شده را در اختیار دارند.
هر توسعه دهنده همیشه یک نسخه کامل از فایل ها را به همراه تغییرات مربوطه در اختیار دارد.
نرم افزار کنترل نسخه مرکزی همچنان استفاده می شود اما اگر زمانی سرور مرکزی با مشکل مواجه شود و اطلاعات از بین برود ، از طریق این سیستم یک نسخه بک آپ از تمامی فایل ها و تغییرات از طریق یکی از توسعه دهنده گان که آخرین تغییرات را دارد بر روی سرور بارگذاری می شود.
اگر در نسخه ای چند فایل هیچ تغییری نکند ، گیت بجای بارگذاری آن فایل ، آن را به نسخه قبل لینک می کند.
با این کار سرعت عملکرد این سرویس بسیار افزایش می یابد.
🌏https://telegram.me/GitLearning🌏
به عنوان یک برنامه نویس ، شاید خیلی از وقت ها به تنهایی به طراحی و برنامه نویسی بپردازیم و پس از آن نرم افزار را به سادگی بارگذاری و تست کنیم.
این روش زمانی کاربرد دارد که ما پروژه ها کوچک اند و یکنفره انجام می شوند.
اما اگر نیاز شود بطور تیمی بر روی پروژه کار کنید چطور؟ مخصوصا یک پروژه بزرگ با کلی فایل برنامه نویسی.
مسئله پیچیده شد ، نه؟
اینجاست که سرویسی به نام کنترل نسخه (Version Control) وارد میدان می شود.
امروز می خواهیم در مورد نرم افزار کدبازی(Open Source) بنام گیت صحبت کنیم.
این نرم افزار به تیم تان اجازه می دهد که بصورت همزمان بر روی یک پروژه کار کنید ، در عین حال مشکل و تداخلی نیز برای پروژه شما پیش نمی آید.
البته نرم افزار گیت کارهای بیشتری هم انجام می دهد.
چرا باید از یک نرم افزار کنترل نسخه استفاده کنیم؟
نرم افزار کنترل نسخه به شما اجاره می دهد تا نسخه های مختلفی از پروژه ی خود داشته باشید و گزارشی نیز از تغییرات اعمال شده بر روی پروژه به شما می دهد.
با این سرویس به سادگی می توانید هر موقع که خواستید کد های قبلی را بازگردانید ، این امکان در زمانی که پروژه با مشکلی بزرگ برخورد کرده است بسیار کارآمد خواهد بود.
اگر توسعه دهندگان بیش از یک نفر باشند ، چه اتفاقی می افتد؟
اینجاست که ایده نرم افزار کنترل نسخه مرکزی مطرح می شود.
در نرم افزار کنترل نسخه مرکزی ، تمامی نسخه های پروژه شما بر روی یک سرور مرکزی ذخیره می گردد و توسعه دهندگان دیگر می توانند آن را دانلود کرده و یا تغییراتی را در آن ها اعمال کنند.
اگر تابحال به گزارش تغییرات یک صفحه در ویکیپدیا نگاهی انداخته باشید ، به سادگی این موضوع را درک خواهید کرد.
خوبی این نوع سرویس این است که توسعه دهندگان مختلفی می توانند بر روی یک پروژه کار کنند و هر تغییر نیز به نام همان توسعه دهنده ثبت می گردد.
بدی این سرویس هم این است که اگر سرور مورد نظر با مشکل مواجه شود ، دیگر امکان اعمال تغییر در بانک اطلاعات مرکزی وجود ندارد و اگر اطلاعات بانک اطلاعات مرکزی از بین برورد ، توسعه دهندگان تنها آخرین نسخه از کد های خود را در اختیار خواهند داشت.
روش دیگری نیز وجود دارد. روشی که به آن سیستم کنترل نسخه توزیع شده یا Distributed version control systems می گویند.
در این روش دیگر توسعه دهندگان تنها آخرین نسخه تغییرات را ندارند بلکه بسته کاملی از تغییرات ثبت شده را در اختیار دارند.
هر توسعه دهنده همیشه یک نسخه کامل از فایل ها را به همراه تغییرات مربوطه در اختیار دارد.
نرم افزار کنترل نسخه مرکزی همچنان استفاده می شود اما اگر زمانی سرور مرکزی با مشکل مواجه شود و اطلاعات از بین برود ، از طریق این سیستم یک نسخه بک آپ از تمامی فایل ها و تغییرات از طریق یکی از توسعه دهنده گان که آخرین تغییرات را دارد بر روی سرور بارگذاری می شود.
اگر در نسخه ای چند فایل هیچ تغییری نکند ، گیت بجای بارگذاری آن فایل ، آن را به نسخه قبل لینک می کند.
با این کار سرعت عملکرد این سرویس بسیار افزایش می یابد.
🌏https://telegram.me/GitLearning🌏
گیت هاب(Github) چیست؟
گیت هاب یک سرویس گیت و یک محیط گرافیکی برای مدیریت پروژه های شماست.
استفاده از آن تا ۵ مخزن (Repository) عمومی رایگان است.
منظور از مخزن عمومی این است که پروژه های شما Private نیستند و توسط دیگران قابلیت مشاهده دارند.
البته با هزینه کمی می توانید امکان درج مخزن محرمانه را نیز برای خود فعال کنید.
🌏https://telegram.me/GitLearning🌏
گیت هاب یک سرویس گیت و یک محیط گرافیکی برای مدیریت پروژه های شماست.
استفاده از آن تا ۵ مخزن (Repository) عمومی رایگان است.
منظور از مخزن عمومی این است که پروژه های شما Private نیستند و توسط دیگران قابلیت مشاهده دارند.
البته با هزینه کمی می توانید امکان درج مخزن محرمانه را نیز برای خود فعال کنید.
🌏https://telegram.me/GitLearning🌏
چند شاخه شدن (Forking & Branching)
این موارد از مفاهیم پایه ای گیت می باشند.
زمانی که پروژه ها بصورت کد باز تعریف می شوند ، شما می توانید سورس پروژه را برداشته و تغییرات دلخواه خود را در آن اعمال نمایید. اگر احساس کردید تغییرات شما برای پروزه مفید بوده است می توانید توسط Git درخواست اعمال تغییرات خود را به سازنده اصلی آن کد بفرستید و در صورت تائید سازنده کد ، تغییرات شما به عنوان نسخه جدید در صفحه اصلی پروژه درج می گردد.
این امکان به شما اجازه می دهد تا ده ها یا شاید صدها برنامه نویس در لحظه بر روی پروژه شما کار کند و نسخه بهبود یافته را برای شما ارسال کند.
پس از آن دیگر به شما بستگی دارد که آن نسخه از تغییرات را بپذیرید یا خیر.
توسط Branching نیز توسعه دهندگان تائید شده می توانند بدون اینکه به کد اصلی آسیبی برسد مشکلات آن را برطرف کنند و پس از برطرف کردن آن نسخه اصلاح شده را در نسخه اصلی اعمال کنند.
امیدوارم بصورت کلی با مفاهیم گیت(Git) آشنا شده بشید. از این پس تنها کافیست در وب سایت github.com عضو شوید و مقداری با این سرویس کار کنید تا با جزئیات آن در عمل آشنا شوید.
در ضمن اگر یک سرویس گیت که مخزن محرمانه (Private Repository) را بصورت رایگان در اختیار شما قراردهد ، هستید می توانید به سرویس bitbucket.org سری بزنید.
البته این سرویس متاسفانه تا این زمان که در حال نوشتن این مقاله هستم در ایران فیلتر است و تنها با فیلتر شکن در دسترس است.
🌏https://telegram.me/GitLearning🌏
این موارد از مفاهیم پایه ای گیت می باشند.
زمانی که پروژه ها بصورت کد باز تعریف می شوند ، شما می توانید سورس پروژه را برداشته و تغییرات دلخواه خود را در آن اعمال نمایید. اگر احساس کردید تغییرات شما برای پروزه مفید بوده است می توانید توسط Git درخواست اعمال تغییرات خود را به سازنده اصلی آن کد بفرستید و در صورت تائید سازنده کد ، تغییرات شما به عنوان نسخه جدید در صفحه اصلی پروژه درج می گردد.
این امکان به شما اجازه می دهد تا ده ها یا شاید صدها برنامه نویس در لحظه بر روی پروژه شما کار کند و نسخه بهبود یافته را برای شما ارسال کند.
پس از آن دیگر به شما بستگی دارد که آن نسخه از تغییرات را بپذیرید یا خیر.
توسط Branching نیز توسعه دهندگان تائید شده می توانند بدون اینکه به کد اصلی آسیبی برسد مشکلات آن را برطرف کنند و پس از برطرف کردن آن نسخه اصلاح شده را در نسخه اصلی اعمال کنند.
امیدوارم بصورت کلی با مفاهیم گیت(Git) آشنا شده بشید. از این پس تنها کافیست در وب سایت github.com عضو شوید و مقداری با این سرویس کار کنید تا با جزئیات آن در عمل آشنا شوید.
در ضمن اگر یک سرویس گیت که مخزن محرمانه (Private Repository) را بصورت رایگان در اختیار شما قراردهد ، هستید می توانید به سرویس bitbucket.org سری بزنید.
البته این سرویس متاسفانه تا این زمان که در حال نوشتن این مقاله هستم در ایران فیلتر است و تنها با فیلتر شکن در دسترس است.
🌏https://telegram.me/GitLearning🌏
ایجاد یک پروژه جدید در Gitlab و مدیریت آن در Desktop github :
سیستم مدیریت نسخه Gitlab یا Github یکی از ارزشمندترین ابزارهایی است که یک برنامه نویس باید از آن استفاده کند ، استفاده اصولی از این ابزار مفید میتواند یکپارچگی را بین سورس کد برنامه های شما ایجاد کند
بعد از عضویت در وب سایت https://gitlab.com جهت ایجاد یک پروژه جدید کافی است مراحل زیر را طی کنید نکته (جهت استفاده از سرویس از ابزار تحریم شکن استفاده کنید
ادامه 👇
سیستم مدیریت نسخه Gitlab یا Github یکی از ارزشمندترین ابزارهایی است که یک برنامه نویس باید از آن استفاده کند ، استفاده اصولی از این ابزار مفید میتواند یکپارچگی را بین سورس کد برنامه های شما ایجاد کند
بعد از عضویت در وب سایت https://gitlab.com جهت ایجاد یک پروژه جدید کافی است مراحل زیر را طی کنید نکته (جهت استفاده از سرویس از ابزار تحریم شکن استفاده کنید
ادامه 👇
GitLab
Finally, AI for the entire software lifecycle.
Your intelligent orchestration platform for DevSecOps
در این مرحله طبق تصویر فوق در project name میتوانید نام پروژه خود را به طور مثال mywebsite ایجاد کنید در صورت نیاز میتوانید توضیحاتی هم در مورد پروژه خود در باکس Description وارد کنید.
visiblity level یکی از بخش های مهم Gitlab میباشد یعنی شما به صورت رایگان میتوانید پروژه های خود را به صورت خصوصی برخلاف Github مدیریت و ایجاد کنید
با زدن دکمه Create project می توانید پروژه خود را ایجاد کنید.
visiblity level یکی از بخش های مهم Gitlab میباشد یعنی شما به صورت رایگان میتوانید پروژه های خود را به صورت خصوصی برخلاف Github مدیریت و ایجاد کنید
با زدن دکمه Create project می توانید پروژه خود را ایجاد کنید.
با سادگی در 3 مرحله توانستید پروژه خود را در ورژن کنترل Gitlab ایجاد کنید.
تا اینجا فقط در وب سایت گیت لب بودیم و میخواهیم پروژه را روی سیستم خود منتقل کنیم . ابتدا آدرسی که جلوی SSH نوشته را کپی کنید . و بعد نرم Git را از این آدرس دانلود کنید .
https://git-scm.com/downloads
تا اینجا فقط در وب سایت گیت لب بودیم و میخواهیم پروژه را روی سیستم خود منتقل کنیم . ابتدا آدرسی که جلوی SSH نوشته را کپی کنید . و بعد نرم Git را از این آدرس دانلود کنید .
https://git-scm.com/downloads
بعد در هر مسیری که میخواهید برنامه را منتقل کنید مثلا در htdocs کیلک راست کرده و گزینه Git bash here را انتخاب کنید محیطی مانند CMD ویندوز بازمیشه شما میتوانید دستور زیر را به شرطی که این آموزش را به دقت اجرا کرده باشید و اتصال نرم افزار دانلود شده Github windows را با سرور Gitlab برقرار کرده باشید.
در محیط Git bash دستور زیر را وارد کنید
git clone git@gitlab.com:webineh/test.git
را که از سایت Gitlab گرفته اید را وارد کنید.
در محیط Git bash دستور زیر را وارد کنید
git clone git@gitlab.com:webineh/test.git
را که از سایت Gitlab گرفته اید را وارد کنید.
بعد از اتمام وارد نرم افزار Github windows شده و از منوی File مورد Add local repository را انتخاب کرده
