از گیت نترسید، در اختیارش بگیرید

blog
۱۳۹۶-۰۵-۱۹
5 دقیقه

اگر از برنامه‌نویسان حرفه‌ای و یا حتی متوسط باشید، حتما از سیستم‌های ورژن کنترل مانند GitHub یا GitLab -گیت لب- استفاده کرده اید. اما این ابزارها فقط مخصوص برنامه‌‌نویس‌ها نیستند. حتی توسعه‌دهندگان سخت‌افزار هم می‌توانند از این ابزارها استفاده کنند.

ابزارهای ورژن کنترل چه چیزهایی هستند؟

حتماً تا‌به‌حال برایتان پیش آمده است که پروژه‌تان را به یک مرحله‌ای رسانده‌ باشید که بتوان تا حدی آن را پایدار نامید. سپس تصمیم گرفته‌اید که تغییراتی کوچک در آن بدهید و پس از تغییرات متوجه شده‌اید که این تغییرات پروژه را از حالت پایدار و مطلوب شما خارج کرده است. اما چند روزی از انجام پروژه گذشته و نمی‌دانید چه مواردی را باید دوباره دست‌کاری کنید تا به همان مرحله‌ی پایدار قبلی برسید. یا حتماً پروژه‌ای که قرار بوده به مدیرتان تحویل دهید را با نام Final Project ذخیره کرده‌اید و برای او ارسال کرده‌اید. پس از چند روز اصلاحیه‌ای برای پروژه آمده و شما نسخه‌ی بعدی را با نام Final of Final project ذخیره کرده و دوباره ارسال کرده‌اید. این روند معمولاً آنقدر ادامه پیدا می‌کند که لیستی از فایل‌های نهایی(!) برای یک پروژه در اختیار دارید. فاجعه‌ی اصلی زمانی رخ می‌دهد که مدت‌زمان زیادی از انجام پروژه گذشته است و دوباره لازم است تا به فایل اصلی پروژه مراجعه کنید. در آن زمان است که نمی‌دانید کدام‌یک از این فایل‌ها نسخه‌ی پایدار و اصلی است.

ابزارهای ورژن کنترل در چنین مواقعی به کمک توسعه‌دهندگان می‌آیند. این ابزارها تاریخچه‌ای از تغییرات را نگه‌داری می‌کنند و برای هر تغییری که در آن‌ها ذخیره می‌شود، می‌توان (و البته باید که) یادداشتی نیز اضافه نمود. هر زمان که نیاز به بازگشت بود، با انتخاب نقطه‌ی بازگشت، تمام فایل‌های پروژه به تغییرات آن نقطه بر خواهند گشت.

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

 

این ابزارها دقیقاً کجا هستند؟

ابزارهای ورژن کنترل در واقع سرویس‌های نرم‌افزاری هستند. این سرویس‌ها را می‌توانید بر روی کامپیوتر شخصی خودتان یا کامپیوتری متصل به شبکه‌ی محلی، اجرا کنید. البته توصیه‌ی من این است که از ابزارهای آنلاین استفاده کنید؛ چراکه در هر نقطه‌ای از دنیا به پروژه‌هایتان دسترسی دارید و البته خیالتان راحت است که یک نسخه‌ی پشتیبان از پروژه‌تان هم در یک جای دیگری از دنیا نگه‌داری می‌شود. از سیستم‌های آنلاین معروف ورژن کنترل، Github و Gitlab هستند. اولی دارای امکانات بیشتری است و استفاده‌کنندگان بسیاری در سرتاسر دنیا دارد. البته برای آنها که به دنبال سرویس‌های رایگان هستند، باید عرض کنم در Github فقط پروژه‌هایی که به صورت عمومی در دسترس هستند، رایگان سرویس‌دهی می‌شوند. پس اگر به دنبال سرویسی رایگان حتی برای پروژه‌های غیرعمومی هستید، به شما Gitlab را پیشنهاد می‌کنم.

 

آیا می‌شود از دستورات Command Line خلاص شوم؟

ابزارهای ورژن کنترل به‌طور معمول از دستورات تحت Command Line برای ایجاد و ثبت تغییرات پروژه استفاده می‌کنند. اما اگر شما هم مثل من از محیط CMD و Bash فراری هستید، پست زیر از بلاگ نوبی مناسب شماست! در این پست چگونگی استفاده از ابزارهای ورژن کنترل با استفاده از محیط‌های گرافیکی آموزش داده شده است:

نان، گیت و موتور هزار

در ادامه همین مطلب را باز‌نشر می‌کنیم:

نحوه ساخت اکانت Gitlab

اول- اکانت گیت‌ لب

سامانه‌های گیت زیادی در دسترس است. معروف‌ترین آنها، GitHub است. یکی از مشکلات این سامانه، دریافت هزینه برای پروژه‌هایی است که دسترسی آنها محدود به خودتان است (Private). من هم چون ترجیح میدهم بابت این موضوع دلاری خرج نکنم، از سامانه‌ی دوست داشتنی GitLab استفاده میکنم. این سامانه برای تمام پروژه‌های شخصی و عمومی رایگان است. در ضمن لوگوی زیبایی هم دارد :). پس لطفا به GitLab بروید و یک اکانت برای خودتان بسازید.

 

ُساخت - اکانت گیت‌لب

دوم- ایجاد پروژه در گیت‌ لب

در همان صفحه‌ای ابتدایی پس از Login نمودن، میتوانید دکمه‌ی New Project را مشاهده نمایید. بر روی آن کلیک کنید تا صفحه‎ای مشابه عکس زیر ببینید:

ایجاد پروژه در گیت‌لب Gitlab

یک اسم مناسب پروژه‌تان انتخاب کنید و حتما یک توضیح خوب برای پروژه بنویسید. میدانم که الان در دل پروژه هستید و همه‌چیز مثل روز برایتان روشن و بدیهی است، اما یک سال که بگذرد همه‌چیز فراموش می‌شود؛ پس برای آن روز بنویسید. دسترسی پروژه را هم در انتها مشخص کنید. البته این مورد اخیر را هر وقت که بخواهید می‌توانید تغییر دهید.

سوم- اضافه کردن فایل‌ها به گیت لب

خوب حالا به بخش اصلی ماجرا می‌رسیم. آن‌ها که حرفه‌ای تر هستند، از دستورات CommandLine در این بخش استفاده می‌کنند، اما آن‌هایی که مثل من به دنبال برنامه‌های گرافیکی هستند، لطفا ابتدا برنامه‌ی رایگان SourceTree را دانلود کنند. برنامه را باز کنید و از منوی File بر روی دکمه‌ی Clone/New کلیک کنید.

برای پر کردن فیلدهای این قسمت لازم است که دوباره به گیت‌لب و صفحه‌ی پروژه‎تان برگردید. در آن صفحه یک آدرس اختصاصی برای پروژه شما ایجاد شده است که لازم است آن را در قسمت Source Path/URL در برنامه‌ی SourceTree وارد کنید:

اضافه کردن فایل‌ها به Gitlab

 این هم صفحه‌ی وارد کردن آدرس پروژه در SourceTree که از مسیر File/Clone-New به آن رفته‌ایم:

 نحوه استفاده از Gitlab

خوب حالا همه‌چیز آماده است. هر فایلی که می‌خواهید را به پوشه‌ی ایجاد‌شده در کامپیوترتان منتقل کنید. پس از آن نوبت به همگام کردن این فایل‌های موجود بر روی کامپیوتر با سرور‌های گیت‌لب میرسد. هر تغییری که در پروژه می‌دهید و می‌خواهید آن تغییر به‌عنوان یک نقطه‌ی قابل بازگشت ثبت شود، دو کار برای آن باید انجام شود:

Commit: این اقدام، باعث ثبت تغییرات در یک فایل داخلی (موجود بر روی کامپیوتر شما) می‌شود. هر بار که این اقدام را انجام میدهید لازم است تا توضیحی در مورد این تغییر بنویسید. تنبلی نکنید و یک توضیح مناسب بنویسید، مطمئن باشید بعدها از آن استفاده خواهید کرد. این توضیحات به همراه تغییرات فایل‌ها ثبت شده و قابل‌دسترسی است.

Push: تغییرات ثبت‌شده بر روی کامپیوتر با سرورهای گیت همگام می‌شود.

 

برای مثال، به پروژه‌ی تست خودم، یک فایل به نام main.c اضافه میکنم. به‌محض اضافه کردن این فایل، در برنامه‌ی SourceTree این مورد گزارش میشود. با انتخاب این فایل و نوشتن یک توضیح مناسب، این موضوع را Commit میکنم.

 

استفاده از Gitlab به جای Github

حالا وقت همگام‌سازی با سرورهای گیت است. فقط کافی است دکمه‌ی Push را فشار دهید. کار تمام است. می‌توانید فایل اضافه‌شده را در صفحه‌ی پروژه‌ی گیت‌ لب هم مشاهده نمایید.

از‌این‌پس، با هر تغییری در پروژه‌تان و ایجاد یک نقطه‌ی قابل‌دسترس، کافی است مراحل Commit و Push را تکرار کنید. دنیایتان عوض خواهد شد! 🙂

 

 

اطلاعات
10
0
لینک و اشتراک
profile

صاد میم

متخصص الکترونیک

کارشناس ارشد سخت افزار

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
مهدی گفت :
۱۴۰۳-۰۶-۰۴ ۰۶:۲۳

سلام
تاریخ ایجاد این پست ۳ مهر ۱۴۰۲ هست اما کامنت دوستان سال ۱۳۹۶ !
چون اینجور اطلاعات با بروز بودن ساده تر و کاملتر میشن خیلی مهمه آخرین امکانات روی گیت و نرم افزارهای اتصال به گیت رو با خبر بشیم
این خبر مال سال ۱۳۹۶ هست یا ۱۴۰۲؟

profile
Shadow گفت :
۱۴۰۳-۰۶-۰۶ ۱۷:۱۰

تاریخ ایجاد این پست 19 مرداد 1396 هست.

profile
تکنسین شبکه گفت :
۱۴۰۱-۰۳-۰۴ ۱۷:۴۶

مرسی خیلی ساده و عالی توضیح دادین.

profile
سروش گفت :
۱۳۹۶-۰۶-۲۰ ۰۷:۴۹

سلام دوست عزیز
ممنون بابت راهنماییتون.
موفق و سربلند باشید.

profile
سروش گفت :
۱۳۹۶-۰۶-۱۵ ۱۰:۳۷

سلام
ممنون .
راستی فرق بین fetch , Pull رو هم میشه توضیح بدید؟
ببخشید ما تازه کارا سوالای سطح پایین می پرسیم.
امیدوارم همیشه موفق و فعال باشید.

profile
صالح مهدیخانی گفت :
۱۳۹۶-۰۶-۱۹ ۱۱:۰۵

این دو دستور برای به روز رسانی دیتابیس گیت موجود در کامپیوتر شخصی شما کاربرد دارند، تا آن را با سرور هماهنگ سازند. برای دانستن تفاوت این دو میتوانید به لینک زیر مراجعه کنید:

https://stackoverflow.com/questions/292357/what-is-the-difference-between-git-pull-and-git-fetch

profile
سروش گفت :
۱۳۹۶-۰۶-۰۹ ۱۰:۴۴

سلام
ممنون از آموزشتون . لطفا ادامه بدید.
یه سوال داشتم :
چطور می تونم یه گروه خصوصی تو گیت لب بسازم.؟

profile
صالح مهدیخانی گفت :
۱۳۹۶-۰۶-۱۱ ۰۹:۵۴

برای این کار کافی است تا یک پروژه ی شخصی برای خودتان ایجاد کنید و سپس از طریق منوی Memebr در خود سایت Gitlab، هر کسی را که تمایل دارید به پروژه اضافه نمایید. توجه داشته باشید که برای هر نفر، سطح دسترسی هم میتوانید تعیین کنید.

profile
فرهاد گفت :
۱۳۹۶-۰۵-۲۱ ۱۱:۳۷

با سلام
نرم افزار sourcetree به gitlab وصل میشه ؟
به نظرم فقط به github و bitbucket وصل میشه.
اگر ممکنه راهنمایی کنید.

profile
صالح مهدیخانی گفت :
۱۳۹۶-۰۵-۲۱ ۱۳:۰۷

سلام
اگرچه این نرم افزار برای یک سری ابزار خاص طراحی شده و gitlab در لیست آن نیست، اما چنانچه در هنگام نصب سورس تری، اطلاعات اکانت gitlab خود را داده باشید، لینکهای https مربوط به gitlab را خواهد شناخت. همین الان من از سورس تری برای اتصال به Gitlab استفاده میکنم.

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله