آموزش Git و GitHub از صفر تا حرفهای
Git یکی از مهمترین ابزارهایی است که هر برنامهنویس برای مدیریت پروژههای شخصی و تیمی باید با آن آشنا باشد.
در این دوره، آموزش Git و GitHub را از مفاهیم پایه شروع میکنیم و قدمبهقدم به مباحث کاربردی و حرفهای میرسیم.
هدف این دوره فقط حفظ کردن دستورات Git نیست. در طول آموزش سعی میکنیم با مثالهای واقعی و یک پروژه عملی،
Workflow استفاده از Git در پروژههای برنامهنویسی را یاد بگیریم؛ از ایجاد اولین Repository و ثبت Commit
گرفته تا ساخت Branch، Merge کردن تغییرات، حل Conflict و کار با GitHub.
در پایان دوره میتوانید از Git برای مدیریت پروژههای شخصی خود استفاده کنید و همچنین آمادگی لازم
برای کار با Git در تیمهای توسعه نرمافزار را داشته باشید.
پیشنیاز یادگیری Git:
برای شرکت در این دوره نیازی به دانش قبلی Git یا GitHub ندارید و آموزش از سطح مقدماتی شروع میشود.
آشنایی اولیه با برنامهنویسی و ساختار پروژههای نرمافزاری میتواند به درک بهتر مثالها کمک کند،
اما پیشنیاز الزامی برای شروع دوره نیست.
چرا باید Git یاد بگیریم؟
در پروژههای واقعی، برنامهنویسان دائماً در حال تغییر و توسعه کد هستند. بدون استفاده از یک
Version Control System مدیریت این تغییرات، بازگشت به نسخههای قبلی و همکاری چند برنامهنویس
روی یک پروژه بسیار دشوار خواهد بود.
Git به ما کمک میکند تاریخچه تغییرات پروژه را نگهداری کنیم، برای قابلیتهای مختلف Branch بسازیم،
تغییرات اعضای تیم را با یکدیگر ترکیب کنیم و در صورت ایجاد مشکل، تغییرات را بررسی یا مدیریت کنیم.
به همین دلیل Git یکی از مهارتهای مهم برای ورود به پروژههای حرفهای برنامهنویسی است.
سرفصلهای فصل اول – شروع کار با Git
جلسه اول – Git چیست و چرا باید از آن استفاده کنیم؟
- Version Control چیست؟
- مشکلات مدیریت پروژه بدون Git
- Git چیست؟
- کاربرد Git در پروژههای برنامهنویسی
- تفاوت Git و GitHub
- آشنایی با مفهوم Commit و تاریخچه تغییرات
جلسه دوم – نصب و تنظیم Git
- نصب Git در Windows و macOS
- بررسی نصب Git با git –version
- تنظیم user.name
- تنظیم user.email
- تفاوت Global و Local Config
- تنظیم Branch پیشفرض روی main
جلسه سوم – ساخت اولین Git Repository
- Repository چیست؟
- ایجاد پروژه تمرینی
- آموزش git init
- آشنایی با پوشه .git
- تبدیل یک پروژه معمولی به Git Repository
جلسه چهارم – آشنایی با Workflow اصلی Git
- Working Directory چیست؟
- Staging Area چیست؟
- Repository چیست؟
- وضعیت Untracked
- وضعیت Modified
- وضعیت Staged
- وضعیت Committed
- آشنایی با چرخه تغییرات فایل در Git
سرفصلهای فصل دوم – دستورات اصلی Git
جلسه پنجم – بررسی وضعیت پروژه با git status
- آموزش دستور git status
- فایلهای Tracked و Untracked
- تشخیص فایلهای Modified
- بررسی وضعیت Staging Area
جلسه ششم – اضافه کردن فایلها با git add
- آموزش git add
- اضافه کردن یک فایل خاص
- استفاده از git add .
- انتخاب تغییرات برای Commit بعدی
جلسه هفتم – ثبت تغییرات با git commit
- Commit چیست؟
- ایجاد اولین Commit
- استفاده از git commit -m
- نوشتن Commit Message مناسب
- اشتباهات رایج هنگام Commit کردن
جلسه هشتم – مشاهده تاریخچه پروژه
- آموزش git log
- مشاهده Commitهای قبلی
- استفاده از git log –oneline
- آشنایی با Commit Hash
جلسه نهم – بررسی تغییرات با git diff
- آموزش git diff
- مشاهده تغییرات فایلها
- مقایسه تغییرات قبل از Commit
- بررسی تغییرات Staged شده
سرفصلهای فصل سوم – مدیریت و بازگردانی تغییرات در Git
جلسه دهم – بازگرداندن تغییرات با git restore
- آشنایی با git restore
- برگرداندن تغییرات یک فایل
- نکات مهم قبل از Restore
جلسه یازدهم – حذف فایل از Staging Area
- استفاده از git restore –staged
- خارج کردن فایل از Stage بدون حذف تغییرات
- بررسی وضعیت پروژه بعد از Restore
جلسه دوازدهم – اصلاح آخرین Commit
- آموزش git commit –amend
- اصلاح Commit Message
- اضافه کردن فایل فراموششده به Commit قبلی
جلسه سیزدهم – git reset و git revert
- Reset چیست؟
- Revert چیست؟
- تفاوت git reset و git revert
- کاربرد هر روش در پروژه واقعی
- آشنایی با خطرات git reset –hard
جلسه چهاردهم – آموزش .gitignore
- فایل .gitignore چیست؟
- نادیده گرفتن فایلها و پوشهها
- نادیده گرفتن node_modules
- مدیریت فایلهای Environment
- اشتباهات رایج در .gitignore
سرفصلهای فصل چهارم – Branch و Merge در Git
جلسه پانزدهم – Branch چیست؟
- مفهوم Branch در Git
- چرا در پروژههای واقعی Branch میسازیم؟
- Branch اصلی main
- Feature Branch چیست؟
جلسه شانزدهم – ساخت و جابهجایی بین Branchها
- آموزش git branch
- ساخت Branch جدید
- آموزش git switch
- استفاده از git switch -c
- جابهجایی بین Branchها
جلسه هفدهم – Merge کردن Branchها
- Merge چیست؟
- آموزش git merge
- ادغام Feature Branch با main
- بررسی تغییرات بعد از Merge
جلسه هجدهم – حل Merge Conflict
- Merge Conflict چیست؟
- ایجاد یک Conflict واقعی
- شناسایی فایل Conflict شده
- حل مرحلهبهمرحله Conflict
- ثبت تغییرات بعد از حل Conflict
جلسه نوزدهم – مدیریت Branchها
- مشاهده Branchها
- تغییر نام Branch
- حذف Branch
- مدیریت Branchهای Feature
- Workflow مناسب برای پروژههای واقعی
سرفصلهای فصل پنجم – آموزش GitHub و Remote Repository
جلسه بیستم – اتصال Git به GitHub
- GitHub چیست؟
- ساخت Repository در GitHub
- Remote Repository چیست؟
- آموزش git remote
- مفهوم origin
جلسه بیست و یکم – Push کردن پروژه روی GitHub
- آموزش git push
- استفاده از git push -u origin main
- ارسال Commitها به GitHub
- بررسی Repository آنلاین
جلسه بیست و دوم – Clone و Pull
- آموزش git clone
- دریافت یک Repository از GitHub
- آموزش git pull
- دریافت تغییرات جدید پروژه
جلسه بیست و سوم – Fetch و تفاوت آن با Pull
- آموزش git fetch
- تفاوت Fetch و Pull
- Remote Tracking Branch چیست؟
- بررسی تغییرات Remote قبل از Merge
جلسه بیست و چهارم – Workflow کامل Git و GitHub
- Clone کردن پروژه
- ساخت Feature Branch
- تغییر فایلها
- Add و Commit
- Push کردن Branch
- Merge تغییرات
سرفصلهای فصل ششم – Git در پروژههای حرفهای
جلسه بیست و پنجم – Pull Request در GitHub
- Pull Request چیست؟
- ایجاد Pull Request
- بررسی تغییرات قبل از Merge
- Merge کردن Pull Request
جلسه بیست و ششم – Code Review
- Code Review چیست؟
- بررسی کد اعضای تیم
- ثبت Comment روی Pull Request
- اعمال تغییرات درخواستشده
جلسه بیست و هفتم – Git Workflow در پروژههای تیمی
- Workflow مناسب تیمهای توسعه
- Feature Branch
- Bugfix Branch
- نحوه مدیریت Branchهای پروژه
- معرفی Git Flow
جلسه بیست و هشتم – حل خطای non-fast-forward و Diverged Branch
- خطای non-fast-forward چیست؟
- Diverged Branch چیست؟
- بررسی وضعیت Local و Remote
- استفاده صحیح از Pull و Fetch
- حل سناریوهای رایج در پروژه واقعی
جلسه بیست و نهم – آموزش git stash
- git stash چیست؟
- ذخیره موقت تغییرات
- مشاهده Stashها
- بازیابی تغییرات
- استفاده از Stash در پروژه واقعی
جلسه سیام – Rebase و تفاوت Merge و Rebase
- Rebase چیست؟
- آموزش git rebase
- تفاوت Merge و Rebase
- مزایا و مشکلات Rebase
- چه زمانی از Merge استفاده کنیم؟
- چه زمانی از Rebase استفاده کنیم؟
در پایان دوره آموزش Git چه چیزهایی یاد میگیریم؟
بعد از تکمیل این دوره میتوانید Git را روی پروژههای خود راهاندازی کنید،
تغییرات پروژه را با Commitهای مناسب مدیریت کنید، Branch بسازید، Branchها را Merge کنید،
Conflictها را برطرف کنید و پروژههای خود را روی GitHub مدیریت کنید.
همچنین با Pull Request، Code Review، Git Stash، Rebase و Workflowهای رایج در پروژههای تیمی
آشنا خواهید شد و میتوانید با اطمینان بیشتری در پروژههای واقعی از Git و GitHub استفاده کنید.
این دوره آموزش Git برای چه کسانی مناسب است؟
- افرادی که قصد دارند Git را از صفر یاد بگیرند.
- دانشجویان و علاقهمندان به برنامهنویسی.
- Front-end Developerها.
- Back-end Developerها.
- Full-stack Developerها.
- توسعهدهندگان React، Angular، Vue و Next.js.
- برنامهنویسان PHP، Node.js و سایر تکنولوژیهای Backend.
- افرادی که قصد دارند وارد پروژههای تیمی شوند.
- برنامهنویسانی که Git را بهصورت پراکنده یاد گرفتهاند و میخواهند Workflow آن را اصولی یاد بگیرند.

هیچ دیدگاهی برای این محصول نوشته نشده است.