×
ribbon
پیش‌نیاز‌ها سرفصل‌های دوره ویژگی‌های دوره درباره دوره نظرات کاربران

آموزش Git

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

ارائه دهنده:  مکتب‌خونه  مکتب‌خونه
مدرس دوره:
وحید نائینی وحید نائینی
 95% (1629 رای)
سطح: مقدماتی
 پلاس
  
زمان مورد نیاز برای گذارندن دوره:  10 ساعت
مجموع محتوای آموزشی:  5 ساعت ویدئو - 5 ساعت تمرین و پروژه
 (قابل دانلود می‌باشد)
مهلت دوره:  4 هفته
  
حد نصاب قبولی در دوره:  70 نمره
فارغ‌التحصیل شدن در این دوره نیاز به ارسال تمرین‌ها و پروژه‌های الزامی دارد. 
organization-pic  گواهینامه این دوره توسط مکتب‌خونه ارائه می‌شود.
course-feature   گواهی‌نامه مکتب‌خونهcourse-feature   خدمات منتورینگcourse-feature   پروژه محورcourse-feature   تمرین و آزمونcourse-feature   تالار گفتگوcourse-feature   تسهیل استخدام

پیش‌نیاز‌ها

آشنایی با زبان‌های برنامه‌نویسی

سرفصل‌های دوره آموزش Git

معرفی Git
  چرا Git؟
"06:20  
  چرا Git؟
 33.3%    
"02:00  
  نصب Git
"06:59  
  نصب Git
 33.3%    
"02:00  
  استفاده از ZSH به جای Bash
"05:09  
  استفاده از ZSH به جای Bash
 33.3%    
"01:00  
شروع کار با Git
  اصطلاحات و ترمینولوژی
"04:31  
  اصطلاحات و ترمینولوژی
"03:00  
  ایجاد Repository و Git init
"17:10  
  ایجاد Repository و Git init
 66.7%    
"04:00  
  تنظیمات repository و Git config
"03:42  
  تنظیمات repository و Git config
 33.3%    
"02:00  
ذخیره تغییرات در Git
  ذخیره تغییرات
"13:09  
  ذخیره تغییرات
 50%    
"02:00  
  Commit و Commit message
"04:30  
  Git ignore
"07:34  
  Git ignore
 50%    
"01:00  
  Git stash (اختیاری)
"09:17  
بررسی مخزن کد (Repository)
  بررسی مخزن کد
"00:57  
  Git diff
"05:36  
  Git log
"09:16  
  Git blame
"04:37  
  Git blame
 3.6%    
"01:00  
  Git tag
"03:41  
  مروری بر بررسی مخزن کد
"03:25  
  Git reflog (اختیاری)
"01:24  
  پروژه میانی اول (الزامی)
 96.4%    
"60:00  
بازگردانی تغییرات و بازنویسی تاریخچه
  بازگردانی تغییرات
"07:51  
  بازگردانی تغییرات
 100%    
"02:00  
  Git clean
"08:27  
  Git revert
"12:51  
  Git rm
"04:55  
استفاده از سرورهای Git و ادیتورها
  نگهداری از مخزن کد
"11:37  
  اتصال به Remote repository
"17:44  
  اتصال به Remote repository
 3.3%    
"02:00  
  Git remote
"17:45  
  Git remote
 3.3%    
"01:00  
  editor IDE
"11:00  
  استفاده از گیت در IDEهای مختلف
"10:14  
  پروژه میانی دوم (الزامی)
 93.3%    
"120:00  
کار گروهی روی مخزن کد و موارد پیشرفته‌تر درباره Git
  کار گروهی در Git
"11:12  
  کار گروهی در Git
 3%    
"01:00  
  Git rebase
"05:43  
  ادامه Git rebase
"14:15  
  Git rebase
 3%    
"02:00  
  Git merge
"12:57  
  Git merge
 3%    
"02:00  
  Cherry pick
"04:49  
  Conflicts
"14:12  
  جمع‌بندی
"04:03  
  پروژه پایانی (الزامی)
 90.9%    
"120:00  

ویژگی‌های دوره

گواهی‌نامه مکتب‌خونه گواهی‌نامه مکتب‌خونه

در صورت قبولی در دوره، گواهی نامه رسمی پایان دوره توسط مکتب‌خونه به اسم شما صادر شده و در اختیار شما قرار می گیرد.

مشاهده نمونه گواهینامه
خدمات منتورینگ خدمات منتورینگ

خدمات منتورینگ به معنای برخورداری دانشجو از راهنما یا پشتیبان علمی در طول گذراندن دوره می‌باشد. این خدمات شامل پاسخگویی به سوالات آموزشی(در قالب تیکتینگ)، تصحیح آزمون یا پروژه های دوره و ارائه باز خورد موثر به دانشجو می‌باشد.

پروژه محور پروژه محور

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

تمرین و آزمون تمرین و آزمون

با قرار گرفتن تمرین ها و آزمون های مختلف در طول دوره، محیطی تعاملی فراهم شده است تا بهره گیری از محتوا و یادگیری بهتر و عمیق تر شود.

تالار گفتگو تالار گفتگو

شما می توانید از طریق تالار گفتگو با دیگر دانشجویان دوره در ارتباط باشید، شبکه روابط حرفه ای خود را تقویت کنید یا سوالات مرتبط با دوره خود را از دیگر دانشجویان بپرسید.

تسهیل استخدام تسهیل استخدام

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

بررسی فرصت‌های شغلی

درباره دوره

آموزش Git

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

قبل از اینکه به معرفی دوره آموزش Git بپردازیم ابتدا اجازه دهید که به‌صورت مختصر با گیت ویژگی‌های آن آشنا شویم.

Git (سیستم کنترل نسخه) چیست؟

معرفی گیت:

گیت Git یکی از راه‌های پیاده‌سازی ایده کنترل نسخه است. این سیستم کنترل نسخه توزیع‌شده (DVCS) است و معروف‌ترین سیستم کنترل نسخه است.

 برخلاف سیستم کنترل نسخه متمرکز که از یک سرور مرکزی برای ذخیره همه فایل‌ها استفاده می‌کند و همکاری تیمی را امکان‌پذیر می‌کند، DVCS فقط با کمک یک نرم‌افزار دسکتاپ و منفرد موجود در خط فرمان قابل پیاده‌سازی است. پس خرابی سرور مرکزی مشکلی در DVCS ایجاد نمی‌کند؛ بنابراین زمانی که آفلاین هستید نیز می‌توان عملیات زیادی را انجام داد.

نحوه نصب Git

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

 Git با ابزاری به نام git config ارائه می‌شود که به تنظیم متغیرهای پیکربندی که از عملکرد git مراقبت می‌کنند کمک می‌کند. Git می‌تواند متغیرهای پیکربندی را در سه فایل مختلف زیر ذخیره کند:

  • /etc/gitconfig: فایلی است که شامل پیکربندی برای هر کاربر و مخزن سیستم است..
  • ~/.gitconfig: این فایل حاوی مقادیر خاص کاربر است. می‌توان از گزینه global استفاده کرد و تمام مخازن موجود در سیستم را می‌توان پیکربندی کرد.
  • فایل پیکربندی (مخزن فعلی): مختص یک مخزن واحد (جاری) است. گزینه -local را می‌توان برای ایجاد تنظیمات استفاده کرد. (اگر هیچ گزینه‌ای استفاده نمی‌شود، به‌طور پیش‌فرض -local است).

نگران موارد گفته‌شده در بالا نباشید، در دوره آموزش git شما قدم‌به‌قدم پیکربندی git را یاد خواهید گرفت.

درباره استاد

maktabkhooneh-teacher وحید نائینی

وحید نائینی فارغ‌التحصیل مهندسی مکانیک از دانشگاه صنعتی اصفهان و تربیت مدرس است. پروژه آکادمیک و دانشجویی وحید شبیه‌سازی شکست استخوان بوده، ولی از آخرین شغل مرتبط با رشته‌اش، یعنی تدریس در دانشگاه آزاد، ‌چند سالی گذشته است. ایشان کار خود را در برنامه‌نویسی با پردازش تصاویر شروع کرد و در حال حاضر برنامه نویس بک اند است و از سال 1394 سابقهٔ تدریس ۳۰ دوره برنامه‌نویسی پایتون را در مجتمع فنی دارد. ایشان مسلط به زبان‌های برنامه‌نویسی و ابزارهایی مثل C++، Python، Docker، SQL، Git و غیره است. نکته جالب توجه درباره وحید این است که او به زبان‌های غیر برنامه‌نویسی هم علاقه زیادی دارد و با زبان‌های روسی و اسپرانتو هم آشنایی دارد.

نظرات کاربران  ( نظر)

صفحه 1 از
رضا حاتمی 1402-02-06
دانشجوی دوره
افتضاح بود. نه فن بیان خوب بود و نه تسلط کافی. انتظار داشتم دوره‌ای مثل یادگیری ماشین جادی عزیز باشه که خود غلط بود آنچه می پنداشتیم. دوستان عزیز به جای حروم کردن وقت برای این دوره، خودتون از مراجع انگلیسی یاد بگیرین مطالب رو موفق تر هستید.
سید محمد میرفارسی 1401-10-13
دانشجوی دوره
اصلا از نحوه تدریس استاد راضی نبودم. خیلی کسل کننده و غیر قابل فهم بود. به قدری که تا فصل 3 پیش رفتم اما از ادامه آموزش منصرف شدم.
علیرضا بختیاری زاده 1401-09-01
دانشجوی دوره
دوره ای بسیار عالی و کاربردی با شیوه ای نسبتاً جدید در آموزش. مدرس دوره فن بیان و تسلط خوبی داره و با آرامشی مثال زدنی به بیان مطالب می پردازد. سرفصل مطالب و بارگزاری ویدئوهای کوتاه بسیار حرفه ای بوده و کوئیزها و پروژه ها بسیار همسو با مطالب ارائه شده برای یادگیری هر چه بهتر دوره طراحی شده بود. من که خیلی استفاده کردم و لذت بردم از این دوره و شدیداً توصیه میکنم. امیدوارم آموزش های بیشتری رو از ایشون ببینیم. اما ضعف های فنی در این دوره به چشم میخوره که شاید گفتنش بهتر از نگفتنش باشه! اول اینکه منم مثل دوستان به اشتباهات فاحش در تدوین ویدئوها معترض هستم. دوم انعکاس نور صحنه در عینک مدرس محترم آزاردهنده بود و سوم اینکه در برخی از ویدئوها چهره بزرگ استاد مانع از دیدن مطالب میشد. در پایان از زحمات تیم حرفه ای مکتب خونه و همچنین مدرس دوره کمال تشکر و قدردانی را دارم.
نازیلا کارکن 1401-06-11
دانشجوی دوره
دوره بسیار خوبی بود.من کاملا نحوه کار با گیت با جزییات کاملش رو یاد گرفتم و همینطور نحوه کار ادیتورهای مختلف با گیت.توصیه میکنم حتما این دوره رو بگذرونید. بسیار ممنون از استاد نايینی
امیرمهدی مومنی پور 1401-05-24
دانشجوی دوره
دوره خوبی بود ممنونم از استاد نایینی.
محمد کهکشانی 1401-05-15
دانشجوی دوره
دوره بسیار خوبی بود و جناب استاد نائینی تقریبا همه چیو کامل با مثال توضیح دادن و منی که تا قبل از این دوره هیچ ذهنیت درستی از گیت نداشتم الان به راحتی دارم با گیت کار میکنم و پروژه هام رو توی گیت هابم ذخیره میکنم. تنها نقطه ضعف دوره کیفیت صدا بود که برای من شخصا بدون استفاده از هندزفری امکان استفاده از دوره وجود نداشت. کیفیت صدا اصلا در حد این دوره و مکتبخونه نبود.
مکتب‌خونه
همراه عزیز؛ از اینکه نظر خود را با ما در میان گذاشتید صمیمانه سپاسگزاریم. موارد مطرح شده جهت بررسی بیشتر به بخش مربوطه ارسال شد. در صورت نیاز به پیگیری بیشتر با شما در ارتباط خواهیم بود.
سید مجید برکاتی 1401-05-13
دانشجوی دوره
دوره نسبتا خوبی بود. مفاهیم خیلی خوبی رو یاد گرفتم. از حدی که فقط از github فایل zip دانلود کنم خیلی پیش رفتم. در درسهای آخر،البته در یکی، استاد کمی خطای conflict رو لاپوشانی کرد. البته در بخش conflict نبود. یک مشکل دیگر هم این بود که گاهی تصویر استاد خیلی جلوی پشت صحنه قرار میگرفت. نمیشد تصویر پشت را درست دید یا خواند. خوشبختانه به دلیل اضافه کردن لینک مطلب، آنرا از توی اینترنت پیدا کردم. در حقیقت نمره من 4.7 بود که امکان خرده ستاره دادن نداشت.
هادی شیخ بکلو 1401-05-11
دانشجوی دوره
بسیار استاد کاربلد،باهوش و صد البته مهربان هستن.خیلی راضی ام از نکاتی که گفتن.براشون بهترین هارو آرزو میکنم
آٰرش دارابی نژاد 1401-05-01
دانشجوی دوره
سلام دوره فوق‌العاده‌اس؛ این روش تدریس که اول همه‌چیز به صورت «دستوری» باشه ذهنیت کاملاً درستی از نحوه کارکرد "git" میده، در مرحله بعدی که آموزش به سمت محیط‌های گرافیکی‌تر می‌ره شما دقیقاً می‌دونید داستان چیه :) من خودم بعد از این دوره کمی بیشتر پیگیر مسیر "git & VScode" شدم. خسته نباشید میگم به استاد نائینی
حسن امینی 1401-04-27
دانشجوی دوره
دوره ی خیلی خوبی بود و منو بیشتر ترغیب کرد که با لینوکس کار کنم .در حدی که ویندوز رو کلا حذف کردم و الان فقط دارم با اوبنتو کار میکنم .خیلی ممنونم از استاد نائینی.
امیرحسین انسانی 1401-04-21
دانشجوی دوره
دوره کاملی هست البته فن بیان کمی ضعیفه
بهنام تاکی 1401-02-22
دانشجوی دوره
دوره خیلی خوبی است. خیلی شسته رفته و در عین حال کاربردی است. دست استاد عزیز و تیم مکتبخونه درد نکنه
اشکان دهنوی 1401-01-28
دانشجوی دوره
دوره فوق افتضاحی بود واقعا. با تدوین داغون و فن بیان خیلی ضعیف. نمیدونم کسایی که پیش ضمینه از گیت نداشتن چقدر زده شدن و اصلا تونستن چیزی یاد بگیرن یا نه. من برای چند تا مشکلم گرفتم این دوره رو و واقعا پشیمونم!!!
مکتب‌خونه
همراه عزیز؛ از اینکه نظر خود را با ما در میان گذاشتید صمیمانه سپاسگزاریم موارد مطرح شده جهت بررسی به بخش مربوطه ارسال شد. لطفا جهت توضیحات بیشتر به ایمیل پشتیبانی پیام دهید. info@maktabkhooneh.org
سهیلا بهروزنیا 1400-12-16
دانشجوی دوره
دوره خیلی خوبی بود و تونستم گیت رو خوب یاد بگیرم. از این دوره خیلی راضی هستم. ممنونم از استاد نائینی.
محمد شفیعی نیا 1400-11-27
دانشجوی دوره
دوره خیلی خوبی بود.
1
2

سوالات پرتکرار

آیا در صورت خرید دوره، گواهی نامه آن به من تعلق می گیرد؟
خیر؛ شما با خرید دوره می توانید در آن دوره شرکت کنید و به محتوای آن دسترسی خواهید داشت. در صورتی که در زمان تعیین شده دوره را با نمره قبولی بگذرانید، گواهی نامه دوره به نام شما صادر خواهد شد.
آیا گواهی‌نامه‌های دانشگاهی به صورت رسمی و توسط دانشگاه مربوطه صادر می‌شود؟
بله؛ گواهی نامه ها توسط دانشگاه مربوطه و با امضای رئیس دانشگاه یا مسئول مربوطه که حق امضای گواهی نامه ها را دارد صادر می شود و گواهی نامه معتبر دانشگاه است که به اسم هر فرد صادر می شود.
حداقل و حداکثر زمانی که می توانم یک دوره را بگذرانم چقدر است؟
برای گذراندن دوره حداقل زمانی وجود ندارد و شما می توانید در هر زمانی که مایل هستید فعالیت های مربوطه را انجام دهید. برای هر دوره یک حداکثر زمان تعیین شده است که در صفحه معرفی دوره می توانید مشاهده کنید که از زمان خرید دوره توسط شما تنها در آن مدت شما از ویژگی های تصحیح پروژه ها توسط پشتیبان و دریافت گواهی نامه بهره مند خواهید بود.
در صورت قبولی در دوره، آیا امکان دریافت نسخه فیزیکی گواهی نامه دوره را دارم؟
خیر، به دلیل مسائل زیست محیطی و کاهش قطع درختان، فقط نسخه الکترونیکی گواهی‌نامه در اختیار شما قرار می‌گیرد
پس از سپری شدن زمان دوره، به محتوای دوره دسترسی خواهم داشت؟
بله؛ پس از سپری شدن مدت زمان دوره شما به محتوای دوره دسترسی خواهید داشت و می توانید از ویدئوها، تمارین، پروژه و دیگر محتوای دوره در صورت وجود استفاده کنید ولی امکان تصحیح تمارین توسط پشتیبان و دریافت گواهی نامه برای شما وجود نخواهد داشت.
صدور گواهی‌نامه از سوی دانشگاه شریف چقدر زمان می‌برد؟
صدور گواهی‌نامه‌ی رسمی از سوی دانشگاه شریف با توجه به پروسه‌های اداری، دورکاری پرسنل دانشگاه و زمانبر بودن فرآیند امضا توسط اساتید دانشگاه حداقل 4 ماه زمان خواهد برد. مکتب‌خونه به محض صدور گواهی‌نامه از سوی دانشگاه، آن را برای شما ارسال خواهد کرد. در صورت نیاز فوری، می‌توانید گواهی موقت پایان دوره را با ارسال درخواست به ایمیل info@maktabkhooneh.org دریافت نمایید.

تفاوت بین Git و GitHub

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

گیت هابGitHub یک سرویس میزبانی مخزن گیت مبتنی بر وب است که تمام عملکردهای کنترل نسخه توزیع‌شده و مدیریت کد منبع (SCM) Git را ارائه می‌دهد و همچنین ویژگی‌های خود را اضافه می‌کند.

در زیر برخی از تفاوت‌های Git و GitHub آورده شده است:

  • Git یک نرم‌افزار است. GitHub یک سرویس است.
  • Git یک ابزار خط فرمان است GitHub یک رابط کاربری گرافیکی است
  • Git به‌صورت محلی بر روی سیستمی که GitHub در وب میزبانی می‌شود نصب می‌شود
  • Git توسط لینوکس نگهداری می‌شود. GitHub توسط مایکروسافت نگهداری می‌شود.
  • Git بر کنترل نسخه و اشتراک‌گذاری کد متمرکز است. GitHub بر میزبانی کد منبع متمرکز است.
  • Git یک سیستم کنترل نسخه برای مدیریت تاریخچه کد منبع است. GitHub یک سرویس میزبانی برای مخازن Git است.
  • Git اولین بار در سال 2005 منتشر شد. GitHub در سال 2008 راه‌اندازی شد.
  • Git هیچ ویژگی مدیریت کاربر ندارد. GitHub دارای یک ویژگی داخلی مدیریت کاربر است.
  • Git دارای مجوز و منبع باز است. GitHub شامل یک‌لایه رایگان و پرداخت برای استفاده است.
  • Git دارای حداقل پیکربندی ابزار خارجی است. GitHub یک بازار فعال برای ادغام ابزار دارد.
  • Git یک رابط دسکتاپ به نام Git Gui ارائه می‌دهد. GitHub یک رابط دسکتاپ به نام GitHub Desktop ارائه می‌دهد.
  • Git با CVS، Azure DevOps Server، Subversion، Mercurial و غیره رقابت می‌کند. GitHub با GitLab، Git Bucket، AWS Code Commit و غیره رقابت می‌کند.

در دوره آموزش Git شما به‌صورت عملی تفاوت کار با گیت و گیت هاب را یاد خواهید گرفت و قادر خواهید بود هرکدام از آن‌ها را در پروژه‌های خود استفاده کنید.

ویژگی‌های Git

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

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

در اینجا چند ویژگی اساسی و مهم Git آورده شده است:

سیستم توزیع‌شده:

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

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

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

سازگاری:

Git با تمام سیستم‌عامل‌هایی که این روزها مورداستفاده قرار می‌گیرند سازگار است. مخازن Git همچنین می‌توانند به مخازن دیگر سیستم‌های کنترل نسخه مانند SVN، CVK و غیره دسترسی داشته باشند. Git می‌تواند مستقیماً به مخازن راه دور ایجادشده توسط این SVN ها دسترسی داشته باشد؛ بنابراین، کاربرانی که در وهله اول از Git استفاده نمی‌کردند نیز می‌توانند بدون انجام فرآیند کپی کردن فایل‌های خود از مخازن سایر VCS در Git-VCS به Git سوئیچ کنند.

 Git همچنین می‌تواند به مخازن مرکزی سایر VCS ها دسترسی داشته باشد. ازاین‌رو، می‌توان روی Git-SVN کار کرد و از مخزن مرکزی به همان صورت استفاده کرد. Git دارای یک شبیه‌سازی سرور CVS است که استفاده از کلاینت‌های موجود CVS و پلاگین های IDE را برای دسترسی به مخازن Git امکان‌پذیر می‌کند. در دوره آموزش Git شما به‌صورت عملی با این ویژگی‌ها آشنا خواهید شد و با آن‌ها کارخواهید کرد.

توسعه غیرخطی:

Git به کاربران از سرتاسر جهان این امکان را می‌دهد تا عملیات یک پروژه را از راه دور انجام دهند. کاربر می‌تواند هر بخشی از پروژه را برداشته و عملیات موردنیاز را انجام دهد و سپس پروژه را به‌روزرسانی کند. این را می‌توان با رفتار توسعه غیرخطی Git انجام داد. Git از انشعاب و ادغام سریع پشتیبانی می‌کند و شامل ابزارهای خاصی برای تجسم و پیمایش تاریخچه توسعه غیرخطی است. یک فرض اصلی در Git این است که یک تغییر بیشتر ازآنچه نوشته‌شده است ادغام می‌شود.

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

انشعاب:

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

انشعاب و ادغام را می‌توان خیلی راحت با کمک چند دستور Git انجام داد. یک نسخه واحد از یک پروژه ممکن است بر اساس نیاز کاربر دارای n تعداد شاخه باشد.

سبک‌وزن :

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

 Git از معیارهای فشرده‌سازی بدون تلفات پیروی می‌کند که داده‌ها را فشرده می‌کند و آن‌ها را در مخزن محلی ذخیره می‌کند که فضای بسیار کمی را اشغال می‌کند. هر زمان که نیاز به این داده باشد، از تکنیک معکوس و s پیروی می‌کند

سرعت:

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

قدرت واکشی از یک مخزن محلی حدود 100 برابر سریع‌تر از آن چیزی است که با سرور راه دور ممکن است.

طبق آزمایشی که توسط موزیلا انجام‌شده است، Git یک‌مرتبه سریع‌تر است که حدود 10 برابر سریع‌تر از سایر ابزارهای VCS است. این به این دلیل است که Git درواقع به زبان برنامه نویسی C نوشته‌شده است که برخلاف زبان‌های دیگر، بسیار نزدیک به زبان ماشین است و ازاین‌رو پردازش را بسیار سریع می‌کند. با یادگیری گیت با دوره آموزش Git در مکتب خونه شما قادر خواهید بود در کمترین زمان ممکن و با سرعت بسیار بالا کارهای تغییر نسخه نرم‌افزار را انجام دهید و روی پروژه‌های شخصی کارکنید.

متن‌باز:

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

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

قابل‌اعتماد:

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

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

امن:

Git یک رکورد از تمام تعهدات انجام‌شده توسط هر یک از همکاران در نسخه محلی توسعه‌دهنده نگه می‌دارد. یک فایل log نگهداری می‌شود و هر بار که عملیات push انجام می‌شود به مخزن مرکزی منتقل می‌شود؛ بنابراین، اگر مشکلی پیش بیاید، می‌توان آن را به‌راحتی ردیابی و توسط توسعه‌دهنده مدیریت کرد.

Git از SHA1 برای ذخیره تمام رکوردها به شکل اشیاء در Hash استفاده می‌کند. هر شی‌ء با استفاده از این کلیدهای هش با یکدیگر همکاری می‌کند. SHA1 یک الگوریتم رمزنگاری است که شی‌ء commit را به یک کد هگز 14 رقمی تبدیل می‌کند. این کمک می‌کند تا رکورد تمام تعهدات انجام‌شده توسط هر یک از توسعه‌دهندگان ذخیره شود.

مقرون‌به‌صرفه:

Git تحت مجوز عمومی (GPL) منتشرشده است و ازاین‌رو به‌صورت رایگان در دسترس است. Git یک کلون از مخزن مرکزی روی ماشین محلی ایجاد می‌کند و ازاین‌رو، قبل از push دادن آن به مخزن مرکزی، تمام عملیات روی ماشین محلی توسعه‌دهنده انجام می‌شود. push دادن تنها پس‌ازآن انجام می‌شود که نسخه روی ماشین محلی به‌طور کامل کار کند و آماده فشار دادن در سرور مرکزی باشد.

 هیچ آزمایشی با فایل‌های روی سرور مرکزی انجام نمی‌شود. این به‌صرفه جویی در هزینه‌های زیادی در سرورهای گران‌قیمت کمک می‌کند. تمام‌کارهای سنگین در سمت کلاینت انجام می‌شود و ازاین‌رو نیازی به داشتن ماشین‌های سنگین برای سمت سرور نیست.

دوره آموزش Git:

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

سرفصل‌های دوره آموزش Git

سرفصل‌های دوره آموزش Git مکتب خون به‌صورت زیر است:

معرفی Git
شروع کار با Git
ذخیره تغییرات در Git
بررسی مخزن کد (Repository)
بازگردانی تغییرات و بازنویسی تاریخچه
استفاده از سرورهای Git و ادیتورها
کار گروهی روی مخزن کد و موارد پیشرفته‌تر درباره Git
این دوره آموزش Git شامل 18 ساعت محتوای آموزشی از سطح مقدماتی تا پیشرفته است. ممکن است در سطح وب دوره‌های آموزش رایگان گیت موجود باشند اما بیشتر آن‌ها به‌صورت کامل کار با گیت را پوشش نمی‌دهند و کامل نیستند، پس بهتر است برای اینکه آن را حرفه‌ای یاد بگیرید از دوره آموزش Git استفاده کنید.

شما چه در حوزه طراحی سایت، توسعه اپلیکیشن یا هر شاخه ای دیگر از مهندسی نرم افزار یا برنامه نویسی کار کنید ملزم به یادگیری گیت هستید و برای ورود به بازار کار در این زمینه ها به شـا کمک زیادی خواهد کرد.

 

 

آموزش برنامه نویسی اندروید

آموزش جاوا اسکریپت

آموزش مقدماتی زبان برنامه نویسی r