آموزش GIT: انشعاب و ادغام

GIT: Branching and Merging

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: اصول کار با شاخه ها و حل تضادهای ادغام را با استفاده از GIT و GitHub بیاموزید از ترمینال Bash Shell برای تعامل با GIT استفاده کنید. پیش نیازها: نه، ما چند کار را از پایه انجام خواهیم داد. با این حال، ممکن است بخواهید ابتدا چالش رایگان Git 5 روزه من را انجام دهید تا پاهای خود را خیس کنید و مطمئن شوید که این برای شما مناسب است. اگر نمی توانید با کامپیوتر کار کنید، این برای شما مناسب نیست.

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

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

چرا وقتی ابزارهایی مانند Visual Studio، E-Git، GitHub برای دسکتاپ و بسیاری دیگر در دسترس هستند، باید خط فرمان را یاد بگیرید؟ زیرا همه ابزارها فقط در اطراف دستورات قرار دارند. اگر از ابزارها استفاده می‌کنید، باید خوب باشید، اما وقتی همه چیز اشتباه می‌شود چطور؟ آن وقت چه کسی به شما کمک خواهد کرد؟ دانستن دستورات استفاده از هر IDE با Git را آسان می کند. ندانستن دستورات می تواند تفاوت بین انجام کاری اشتباه یا ندانستن اصلاً چه کاری باشد.

در اینجا برخی از دستوراتی است که در طول این دوره با آنها تعامل خواهیم داشت [و شما در استفاده از آنها خوب خواهید بود -- با این حال -- ما به هیچ یک از آنها تسلط نخواهیم داشت، اما -- پس از این دوره -- شما می توانید از اینجا برای هر یک از این دستورات مطالعه را عمیق تر کنید!].

  1. git add
  2. git commit
  3. فشار git
  4. کشش git
  5. git fetch
  6. وضعیت git
  7. گزارش git
  8. git show
  9. تسویه حساب git
  10. git diff
  11. git difftool
  12. git ادغام
  13. git mergetool
  14. پیکربندی git

به‌علاوه، این دوره به شما نشان می‌دهد که چگونه یک ابزار پیش‌فرض برای ویرایش، git difftool و git mergetool راه‌اندازی کنید [VSCode در این دوره، اما در صورت تمایل می‌توانید از Perforce P4Merge یا ابزار دیگری استفاده کنید.


سرفصل ها و درس ها

مقدمه: شروع به کار Introduction: Getting Started

  • خوش آمدید و اطلاعات در مورد این دوره Welcome & Info about this course

  • آنچه این دوره پوشش نمی دهد What this course won't cover

  • یک حساب کاربری در GitHub دریافت کنید Get an account at GitHub

  • یک مخزن در GitHub راه اندازی کنید Setup a Repo at GitHub

  • یک حساب کاربری در GitHub دریافت کنید و یک مخزن جدید راه اندازی کنید Get An Account at GitHub, and Setup a new Repo

  • GIT را روی دستگاه خود دریافت کنید [ویندوز] Get GIT on your machine [Windows]

  • GIT را روی دستگاه خود دریافت کنید [لینوکس اوبونتو] Get GIT on your machine [Ubuntu Linux]

  • GIT را روی دستگاه خود دریافت کنید [MAC] Get GIT on your machine [MAC]

  • GIT را روی دستگاه خود دریافت کنید Get GIT on your machine

  • VSCode را برای استفاده به عنوان ویرایشگر، ابزار تفاوت و ابزار ادغام دریافت کنید Get VSCode for use as an editor, a diff tool, and a merge tool

  • کد ویژوال استودیو را روی دستگاه خود دریافت کنید Get Visual Studio Code on your machine

  • VSCode را به عنوان ویرایشگر پیش فرض تنظیم کنید Setup VSCode as the default editor

  • VSCode را به عنوان ویرایشگر پیش فرض تنظیم کنید Set VSCode as the default editor

  • من قبلاً یک پروژه دارم، چگونه می توانم آن را به یک مخزن راه دور اضافه کنم I already have a project, how do I add it to a REMOTE Repository

  • یک پروژه موجود را در یک مخزن محلی جدید دریافت کنید و سپس در یک REMOTE منتشر کنید Get an existing project into a new LOCAL repository and then publish to a REMOTE

Basic Git Flow [بدون شاخه و فقط یک توسعه دهنده] Basic Git Flow [No Branching and only one Developer]

  • یک یادداشت سریع در مورد مخزن و ابزار در ویدیوهای آینده A quick note about the repository and tools in upcoming videos

  • مرحله بندی با دستور [git add] تغییر می کند Staging changes with the [git add] command

  • انجام تغییرات خود با دستور [git commit] Committing your changes with the [git commit] command

  • تغییرات خود را در REMOTE [GitHub] با استفاده از فرمان [git push] انجام دهید Commit your changes on the REMOTE [GitHub] using the [git push] command

  • همیشه آخرین تغییرات خود را با استفاده از دستور [git pull] دریافت کنید Always get your latest changes using the [git pull] command

  • بررسی گردش کار ساده GIT بدون شاخه، و تنها یک توسعه دهنده. Reviewing the simple GIT workflow with no branches, and only one developer.

  • مرور تاریخچه خود با استفاده از دستور [git log] و [git show] Reviewing your history using the [git log] and [git show] command

ابزارهایی برای بهبود تجربه خط فرمان ما برای difftool و mergetool Tools to improve our command line experience for difftool and mergetool

  • VSCode را به عنوان ابزار تفاوت خود تنظیم کنید Setup VSCode as your diff tool

  • خاموش کردن فرمان difftool Turning off the difftool prompt

  • VSCode را به عنوان DiffTool پیش فرض تنظیم کنید Setup VSCode as the default DiffTool

  • VSCode را به عنوان ابزار ادغام خود تنظیم کنید Setup VSCode as your merge tool

  • VSCode را به عنوان ابزار پیش فرض ادغام تنظیم کنید Set VSCode as the Default Merge Tool

شعبه: کار به صورت تک کاربره با شعب محلی و راه دور Branching: Working as a single-user with Local and Remote branches

  • مقدمه ای بر انشعاب Introduction to Branching

  • همیشه هنگام شروع یک گردش کار جدید، [git pull] را به خاطر داشته باشید Always remember to [git pull] when starting a new workflow

  • با استفاده از دستور [git checkout] یک شعبه محلی جدید ایجاد کنید Create a new local branch using the [git checkout] command

  • تغییرات ایجاد کنید، اضافه کنید، متعهد شوید و شاخه ها را تغییر دهید. تفاوت را ببین Make changes, add, commit, and switch branches. See the difference

  • مقدمه ای بر انشعاب An introduction to branching

مقدمه ادغام [ابتدا بخش انشعاب را کامل کنید!] Intro to Merging [complete the branching section first!]

  • مقدمه ای بر ادغام Introduction to Merging

  • Master Checkout، ادغام شاخه ویژگی [git merge]، فشار به GitHub [git push] Checkout master, merge feature branch [git merge], push to GitHub [git push]

  • مقدمه ای بر ادغام An introduction to merging

انشعاب و ادغام با درخواست های کششی [قسمت های 4 و 5 را ابتدا کامل کنید!] Branching and Merging With Pull Requests [Complete sections 4 and 5 first!]

  • یک شعبه محلی ایجاد کنید و در GitHub منتشر کنید [git push -u] Create a local branch and publish to GitHub [git push -u]

  • یک شاخه ویژگی در GitHub ایجاد کنید Create a feature branch at GitHub

  • ردیابی نسخه محلی به شعبه REMOTE ایجاد شده در GitHub را واکشی و بررسی کنید Fetch and Checkout a LOCAL version tracking to REMOTE branch created at GitHub

  • بررسی سریع: تغییرات خود را ایجاد کنید، اضافه کنید، تغییرات خود را به صورت محلی انجام دهید Quick Review: Make your changes, add, commit your changes locally

  • تغییرات شاخه ویژگی خود را به GitHub فشار دهید Push your feature branch changes to GitHub

  • یک درخواست کشش در GitHub ایجاد کنید Create a pull request at GitHub

  • درخواست Pull را در GitHub ادغام کنید Merge the Pull request at GitHub

  • پس از درخواست کشش، Fetch and Pull از راه دور [GitHub] به محلی تغییر می کند Fetch and Pull changes from REMOTE [GitHub] to local after the pull request

  • یک شاخه اولیه و ادغام با یک درخواست کشش در GitHub A basic branch and merge with a pull request at GitHub

  • حذف یک شاخه از LOCAL [git branch -d] Delete a branch from LOCAL [git branch -d]

  • یک شعبه در GitHub [REMOTE] را از BASH محلی حذف کنید Delete a Branch at GitHub [REMOTE] From Local BASH

  • حذف یک شاخه با نادیده گرفتن نیرو [git branch -D] Delete a branch with a force override [git branch -D]

  • حذف و بازیابی شاخه ها در GitHub Delete and Restore branches at GitHub

  • از [git prune] برای پاکسازی مراجع راه دوری که دیگر وجود ندارند استفاده کنید Use [git prune] to clean up remote references that no longer exist

عملیات گیت متوسط: یک جریان چند برنامه‌نویس ساده با تضادهای ادغام Intermediate Git Operations: A simple multi-developer flow with merge conflicts

  • یک سازمان در GitHub برای تیم خود ایجاد کنید Create an organization at GitHub for your team

  • راه اندازی برای کار تیمی، انتقال مخزن Setting Up for Team work, transferring a repo

  • Repo Team را در LOCAL دریافت کنید و به تیم ما REMOTE فشار دهید Get Team repo to LOCAL, and pushing to our team REMOTE

  • [بازبینی] شاخه ویژگی خود را در GitHub ایجاد کنید [Review] Create your feature branch at GitHub

  • [بازبینی] با [git fetch]-[git pull]، بررسی w/[git branch] به‌روزرسانی محلی [Review] Get LOCAL up to date with [git fetch]-[git pull], review w/[git branch]

  • [بازبینی] تغییراتی ایجاد کنید، به شعبه خود متعهد شوید، هنوز به GitHub فشار نیاورید [Review] Make changes, commit to your branch, do not push out to GitHub yet

  • با ایجاد تغییر در GitHub یک جریان توسعه دهنده چندگانه را شبیه سازی کنید SIMULATE a multiple developer flow by making a change at GitHub

  • استاد را بیاورید و بکشید. تضاد ادغام را به صورت محلی مرور کنید Fetch and pull master. Review a merge conflict locally

  • پس از حل تعارض، تغییرات خود را فشار دهید، بکشید و ادغام کنید Push, pull, and merge your changes into master after conflict resolution

  • درگیری دیگری بین توسعه 2 و توسعه 1 ایجاد کنید Create another conflict between dev 2 and dev 1

  • برای جلوگیری از تداخل ادغام در GitHub مجدداً Master را در Local همگام کنید Sync up Master on Local again to avoid merge conflict at GitHub

  • تضاد ادغام را با ابزار ادغام حل کنید، با یک درخواست کشش فشار دهید و commit کنید Solve the merge conflict with merge tool, push and commit with a pull request

  • تضاد دیگری ایجاد کنید و در حین ایجاد روابط عمومی مستقیماً در GitHub حل کنید Create another conflict and resolve directly at GitHub during creation of PR

  • انشعاب و ادغام تیم با تضاد و راه حل ادغام Team Branching and Merging with a Merge Conflict and Resolution

نتیجه Conclusion

  • انشعاب و ادغام جمع بندی Branching and Merging Wrap-Up

  • مراحل بعدی Next Steps

نمایش نظرات

آموزش GIT: انشعاب و ادغام
جزییات دوره
4.5 hours
53
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
4,874
4.3 از 5
دارد
دارد
دارد
Brian Gorman
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Brian Gorman Brian Gorman

مهندس نرم افزار و مربی علوم کامپیوتر من یک توسعه دهنده .Net باتجربه هستم ، قبلاً به عنوان MCSD .Net در C # .net گواهی شده [منقضی شده است]. من فوق لیسانس علوم در سیستم های اطلاعات رایانه ای و لیسانس علوم در علوم کامپیوتر دارم. من همچنین چندین سال تجربه آموزش دوره های دانشگاهی به صورت آنلاین در پایگاه های داده SQL ، برنامه نویسی C #/VB .Net ، برنامه نویسی جاوا ، و Microsoft Office را دارم. من بسیاری از دوره های آموزش فنی آنلاین را ایجاد کرده ام که در سیستم عامل های مختلف مانند O'Reilly/InfiniteSkills ، Udemy و سایر موارد یافت می شود. من همچنین در حالی که تمام وقت به عنوان توسعه دهنده دات نت کار می کنم ، یک شرکت آموزش و مشاوره MajorGuidanceSolutions را اجرا می کنم.