هیچ دوره ای در سبد خرید شما وجود ندارد
Git متداولترین سیستم سورس کنترل است. Git نرم افزاری است که به صورت محلی اجرا شده و پروندهها و تاریخچه آنها را در رایانه شما ذخیره میکند. با این وجود دیگر نگران از دست دادن اطلاعات و سورس کد های خود نخواهید بود. با استفاده از گیت همچنین میتوانید از گیت هاب GitHub برای ذخیره یک کپی از پروندهها و سابقه ویرایش آنها استفاده کنید. بستری جذاب برای برنامه نویس ها برای به اشتراک گذاشتن سورس خود با دیگران و استفاده از سورس دیگران و تجریه های برنامه نویسی آن ها است . Git میتواند تغییرات را به طور خودکار ادغام کند، به عنوان مثال دو نفر میتوانند در قسمتهای مختلف یک فایل کار کنند و بعدا بدون تغییر کار یکدیگر، آن تغییرات را ادغام کنند! بنابراین صرف نظر از اینکه شما کدی را به تنهایی مینویسید یا در قالب یک تیم کار میکنید، آموزش جامع Git برای شما مفید خواهد بود.
مطالب مهمی که در دوره آموزش Git فرا میگیرید؟!
- آشنایی کامل با مفهوم و فلسفه سورس کنترلها (Source controls) و دلایل مهندسی نرم افزاری برای استفاده از آنها
- بررسی انواع و تاریخچه سورس کنترلها (متمرکز، توزیع شده)
- تاریخچه گیت و مزیتهای استفاده از آن را فرا خواهید گرفت.
- مفاهیم اولیه در گیت، نظیر نصب و ساخت ریپازیتوری و … را فرا خواهید گرفت.
- پیکربندی و تنظیمات در گیت برای معرفی خودمان به گیت را فرا خواهید گرفت.
- با فازهای اساسی گیت آشنا خواهید شد.
- Working tree یا Working directory
- Indexing یا Staging
- Repository
- اضافه کردن بخشی از یک فایل به فاز staging را فرا میگیرید.
- یاد خواهید گرفت چطور تاریخچه کارها در گیت را بوسیله commit id بررسی کنید.
- جابجایی بین کامیتهای مختلف و سفر در بین کامیتهای مختلف را فرا میگیرید.
- بررسی تغییرات انجام شده روی ریپازیتوری را یاد خواهید گرفت.
- برگرداندن تغییرات در گیت را یاد خواهید گرفت.
- با ایجاد شاخهها (Branchs) در گیت، فلسفه آن و دلایل مهندسی نرم افزاری برای استفاده از شاخهها را آموزش میبینید.
- ادغام (Merge) کردن شاخههای (Branchs) مختلف با شاخه اصلی (Master) را فرا خواهید گرفت.
- چطور فایلهایی را برای چشم پوشی (ignore) کردن به گیت معرفی میکنیم.
- تگ زدن برای نسخهها و وژنهای مختلف پروژه را فرا میگیرید.
- فرا میگیرید که چه کسی، در چه تاریخی، چه تغییری را در قسمتی از پروژه انجام داده است؟!
- خطایابی و دیباگینگ بوسیله گیت را آموزش میبینید.
- با سرویسهایی نظیر گیت هاب و گیت لب (GitLab) و Fork کردن پروژهها آشنا میشوید.
- GUIهای مختلف برای استفاده از گیت در مقابل git bash را فرا میگیرید.
آموزش Git دانشجویار چه مزیتی دارد؟!
- در کنار آموزش درسنامهی آموزشی، بصورت منظم داکیومنت شده است و در گیتهاب مدرس به آن دسترسی خواهید داشت.
- تمامی دستورات بصورت عملی با سناریوهای دنیای واقعی بررسی شده و اصول مهندسی نرم افزار و best practice ها نیز در این دوره مطرح خواهند شد.
- مباحث دوره از سطح مقدماتی شروع شده و در نهایت با مشاهده این دوره (که در آن سعی شده مطالب به شکل کامل و حرفهای ولی به شکل ساده و مختصر توضیح داده شود) به سطحی خواهید رسید که بتوانید بصورت تیمی با یک تیم نرم افزاری مشارکت کنید یا پروژههای فریلنسری خود را مدیریت کنید.
مخاطبین دوره
- برنامه نویسان و توسعه دهندگان نرم افزار در هر حوزهای ( موبایل، دسکتاپ، وب، امنیت، هوش مصنوعی و … ) که قصد فعالیت و توسعه پروژهها بصورت تیمی را دارند.
- فریلنسرهایی که قصد دارند از گیت برای مدیریت پروژههای شخصی خود استفاده کنند.
- برنامه نویسانی که علاقه مند به مشارکت در پروژه های open source هستند.
- افرادی که قصد مدیریت ورژن ها و نسخه هایی از فایلها و مطالب خود را دارند نظیر:
- مترجمین کتاب
- نویسندگان کتاب و مولفین
- افرادی که قصد نگارش تز و یا پایان نامه خود را دارند
- و … .
پیش نیازهای آموزش Git
- این دوره هیچ پیشنیازی ندارد، صرفا باید با مدرس این دوره همراه شوید.
- آموزش جامع Git دانشجویار از مقدماتیترین مباحث شروع شده و شما را تا سطحی که بتوانید با یک تیم در یک شرکت نرم افزاری بصورت تیمی روی پروژهها کار کنید پیش خواهد برد.
مدرس دوره کیست؟!
مدرس آموزش جامع گیت محمد تقی زاده کارشناس مهندسی کامپیوتر – نرم افزار از دانشگاه گیلان است با سابقه چندین سال برنامه نویسی حرفهای و تخصص در زبان برنامه نویسی پایتون و حوزه توسعه طراحی
سرفصلهای آموزش جامع Git دانشجویار
- معرفی دوره آموزش جامع Git و نقشه راه آموزش
- سورس کنترل چیست؟
- دلیل استفاده از سورس کنترلها در تولید نرم افزار حرفهای
- این دوره مناسب چه افرادی است؟
- رویکرد و مزیت این دوره
- معرفی مدرس
- بررسی سیر و روند درسنامه و آموزش
- انواع مختلف سورس کنترلها
- سورس کنترلهای اولیه، فایل و فولدری (دنیای پیش از سورس کنترلها)
- بزرگترین چالش مدل فایل و فولدری؟
- سورس کنترلها محلی (SC Local)
- چالشهای سورس کنترلهای محلی یا Local
- سورس کنترلهای متمرکز (Centralized SC)
- سورس کنترلهای مشهور متمرکز
- چالش بزرگ سورس کنترلهای متمرکز
- سورس کنترلهای توزیع شده (Distributed)
- مزیتهای سورس کنترلهای توزیع شده
- سورس کنترلهای مشهور توزیع شده
- معرفی سورس کنترلهای مختلف در طول تاریخ
- معرفی سورس کنترل گیت (Git)
- بررسی تاریخچه گیت
- دلیل نامگذاری گیت (Git) چه بود؟
- مزیتهای استفاده از گیت
- نصب گیت از سایت Git-scm
- نصب در سیستم عامل ویندوز
- نصب گیت در توزیعهای مختلف لینوکس
- نصب در سیستم عامل مک
- اولین قدم: معرفی خود به گیت
- سطوح تنظیمات در گیت (Local, Global, System)
- بررسی دستور git config
- گیت چگونه فایلهای ما را Track میکند؟
- بررسی سه فاز اصلی پروژهها در گیت
- Working tree / Working Dir
- Index / Staging
- Repository
- معرفی اولیه دستورات init ، clone ، add و commit
- بررسی سه فاز اصلی پروژهها در گیت
- چگونه Repository ایجاد کنیم؟
- ریپازیتوری (Repository) یا مخزن چیست؟
- بررسی دستور git init
- بررسی دستور git clone
- گیت چگونه کار میکند؟ (ساختار داخلی گیت)
- فولدر .git حاوی چیست ؟ (بررسی دقیق پشت صحنه)
- چشم انداز کلی و بررسی اصطلاحات مهم
- ساختار داخلی گیت؟ (Git internal structure)
- بررسی عملی و دقیقتر فازهای گیت
- بررسی دستور git add
- بررسی دستور git commit
- بررسی دستور git status: برای بررسی وضعیت ریپازیتوری در گیت
- بررسی دستور git commit –amend : چگونه یک کامیت را اصلاح کنیم؟!
- تاریخچه کارها در گیت بوسیله commit id
- بررسی دستور git log
- بررسی دستور git show
- بررسی دستور git reflog
- چگونه برای دستورهای گیت نام مستعار بسازیم؟!
- بررسی تنظیمات alias
- چگونه از راهنمای گیت استفاده کنیم ؟!
- بررسی دستور git help
- اضافه کردن بخشی از یک فایل به فاز staging
- بررسی دستور git add –patch
- بررسی تغییرات انجام شده روی ریپازیتوری
- بررسی دستور git diff
- سفر در زمان !!! (جابجایی بین کامیت های مختلف)
- نحوه ذخیره سازی کامیت ها در گیت چگونه است؟
- ذخیره سازی به روش لیست پیوندی
- ذخیره سازی به روش درخت
- بررسی دستور git checkout
- بررسی دستور git restore : انتقالworking tree و staging به نقطه ای خاص
- نحوه ذخیره سازی کامیت ها در گیت چگونه است؟
- بازنشانی و ریست کردن تغییرات
- بررسی کامل دستور git reset
- git reset –soft
- git reset –mixed
- git reset –hard
- بی اثر کردن تغییرات کامیت شده (چگونه Undo کنیم؟!)
- بررسی کامل دستور git revert
- شاخهها یا برنچها ( Branch ) در گیت
- چرا باید از برنچها استفاده کنیم؟! (دلایل مهندسی نرم افزار)
- بررسی دستور git branch
- ادغام یا Merge کردن برنچها ( Branch ) در گیت
- بررسی دستور git merge
- بررسی Best practice ها برای merge کردن در گیت
- Rebase کردن در مقابل Merge کردن!
- مفهوم Reabse کردن یک شاخه چیست؟!
- مثال هایی برای درک بهتر
- مثال عملی
- بررسی دستور git rebase
- مراحل rebase کردن یک شاخه
- نکاتی مهم برای ریبیس کردن و جلوگیری و از فاجعه و رستگار شدن!
- رفع مشکل کانفلیکت یا conflict در merge کردن
- بررسی مفهوم کانفلیکت (چه موقع رخ میدهد ؟!)
- چگونه کانفلیکت را رفع کنیم؟!
- ذخیره کردن موقتی تغییرات در گیت (Git)
- چه زمانی در پروژه این سناریو پیش می آید؟!
- چه فایلهایی stash میشوند؟!
- بازگردانی تغییرات stash شده
- یادآوری از مفهوم پشته (Stack)
- بررسی دستور git stash
- کپی کردن یک کامیت از یک برنچ دیگر روی برنچ درست
- بررسی دستور git cherry-pick
- نادیده گرفتن فایلها و دایرکتوریها در Git
- چه فایلهایی را باید نادیده بگیریم؟!
- الگوهای فایل gitignore.
- الگوهای wildcard و …
- بررسی فایل .gitignore
- تگ زدن برای نسخهها و وژنهای مختلف پروژه
- بررسی دستور git tag
- چه کسی، در چه تاریخی، چه تغییری را در قسمتی از پروژه انجام داده است؟!
- بررسی دستور git blame
- خطایابی و دیباگینگ بوسیله گیت
- بررسی دستور git bisect
- آموزش کار با گیت هاب (شروع کار در گیت هاب و معرفی بخشهای مختلف)
- معرفی سرویس گیت هاب
- ساخت اکانت در گیت هاب
- شخصی سازی اکانت گیت هاب
- ایجاد و مدیریت پروژه (مخزنها) در گیت هاب
- حذف مخزن در گیت هاب
- اضافه کردن تغییرات از داخل گیت هاب و از روی سیستم local
- Code
- Download Zip
- Clone repository
- Go to file
- Add file
- Actions
- Projects
- Wiki
- Security
- Insight
- Settings
- Star
- Search در گیت هاب
- و….
- کار با ریموتها در گیت (Git remote)
- بررسی کامل دستور git remote
- چگونه ریموت جدید اضافه و حذف کنیم؟!
- چگونه نام ریموت ها را تغییر دهیم؟!
- دریافت و نمایش اطلاعات ریموت
- دیپلوی مخزن (ریپازیتوری)ها در گیت هاب
- بررسی کامل دستور push: اضافه کردن و push کردن برنچها، تگها در گیت هاب
- واکشی تغییرات ایجاد شده روی مخرن (ریپازیتوری)
- بررسی کامل دستور fetch : واکشی تغییرات روی یک برنچ جدید
- بررسی کامل دستور pull : واکشی و ادغام تغییرات (fetch and merge)
- داکیومنتها و فایلهای Readme در گیت هاب
- فایل readme.md برای ریپوها چگونه ساخته میشوند؟!
- مشارکت در پروژهها (چگونه پروژهها را Fork کنیم؟!)
- Fork کردن پروژهها
- چگونه با صاحب پروژه گفتگو ایجاد کنیم (Issue در گیت هاب)
- بررسی Issueها در گیت هاب
- چگونه صفحهی اول گیت هاب خود را شخصی سازی کنیم؟!
- ریپازیتوری به نام کاربری خود ایجاد کنید!
- چگونه از سرویس هاستینگ (میزبانی) رایگان گیت هاب استفاده کنیم؟!
- بررسی سرویس Github pages
- GUI های مختلف برای استفاده از گیت در مقابل git bash
- مشارکت دانشجویان در دوره آموزش Git
- معرفی صفحه گیتهاب دوره
- معرفی داکیومنتیشن دوره ، شامل تمام دستورات گیت بررسی شده
- نحوه همکاری دانشجویان در دوره و توسعه داکیومنتیشن
سورس کنترل چیست؟
یکی از ویژگیهای مهم مهندس نرم افزار حرفهای دانش استفاده از سورس کنترلها (SCM یا Source control management) و ورژن کنترلها (VCS یا Version control system) است. زیرا که مهمترین دارایی شما در فرآیند تولید نرم افزار، سورس کد نرم افزاری است که در حال توسعه آن هستید، به همین دلیل نگهداری از آن و مدیریت درست تغییرات در آن بسیار با اهمیت است. شما با شرکت در این دوره آموزش جامع Git یادخواهید گرفت که چگونه پروژههای برنامهنوسی خود را با سورس کنترل گیت مدیریت کرده و راندمان کاری خود را بالاتر ببرید.
- اگر از ابتدای کار تولید نرم افزار از سورس کنترل استفاده نکنید ممکن است در طول توسعه کد، فاجعه رخ دهد!
- بنابراین یادگیری یکی از سورس کنترلها برای برنامه نویسان حرفه ای از واجبات است!
چرا باید از سورس کنترل استفاده کنیم؟
- مهمترین دارایی در فرآیند تولید نرم افزار سورس کد شما است.
- جابجایی بین ورژنها و نسخههای مختلف پروژه
- باگیابی نرم افزار و رفع باگ کد
- چه کسی، در چه زمانی، چه تغییری را در کد ایجاد کرده است؟
- مدیریت کدهای اعضای تیم و ایجاد شاخه ( Branch )های فرعی در پروژه و ادغام ( Merge ) این شاخهها با کد اصلی بدون کانفلیکت و مشکل
- و … .
انواع سورس کنترلها:
-
سورس کنترلهای Centralized (متمرکز یا مرکزی):
در این نوع از سورس کنترلها، کد همه اعضای تیم روی یک کامپیوتر یا سرور قرار میگیرد. برای اشتراکگذاری و دریافت کد، هر برنامه نویس باید به آن کامپیوتر یا سرور متصل شود. از معروفترین این سورس کنترلها SVN و TFS را میتوانیم نام ببریم.
-
سورس کنترلهای Distributed (غیر متمرکز یا پراکنده):
در این نوع از سورس کنترلها، هر کدام از برنامه نویسان و اعضای تیم تمام سورس کد را روی PC خود دارند و حتی ممکن است تغییرات خود را با یکدیگر به اشتراک بگذارند و یا حتی به اشتراک نگذارند، این شکل از کار اعضای تیم را ملزم به داشتن دیسیپلین خاص برای اشتراکگذاری کد ها با یکدیگر میکنند.
مزیتهای سورس کنترلهای Distributed (پراکنده)
- عدم نیاز به شبکه
- سرعت بسیار بسیار زیادتر نسبت به مدل مرکزی
- مشارکت در پروژه ها بدون نیاز به داشتن دسترسی به کامیتهای برنامه نویسان دیگر
- کاهش خطر از دست رفتن اطلاعات
- تمیزتر بودن مخزن یا ریپازیتوری اصلی (Master)
سورس کنترلهای توزیع شده مختلفی وجود دارند نظیر Git، BitKeeper، Darcs، Fossil، Mercurial و … که در این بین گیت، محبوبترین بین آنهاست و در این دوره آموزش جامع Git قصد داریم به سطح مطلوبی از مهارت استفاده از این سورس کنترل قدرتمند برسیم.
گیت (Git) سورس کنترل محبوب!
گیت در سال 2005 توسط خالق لینوکس، لینوس توروالدز به وجود آمده و توسعه آن آغاز شد. قبل از استفاده از این سورس کد، تیم لینوکس برای پروژه کرنل لینوکس از سورس کنترل BitKeeper (صاحب این سیستم لری مک ووی) برای نگه داری و مدیریت پروژه استفاده میکردند. اما از یک زمانی به بعد، صاحبان این سورس کد، تصمیم گرفتند که این سورس کد را فروشی کنند. همین عامل باعث شد لینوس توروالدز به فکر استفاده از سورس کنترلهای دیگری برای توسعه پروژه بیفتد. او سرانجام در ماه آوریل ۲۰۰۵ کار روی گیت را آغاز کرد و یکسال بعد از آن (در ماه ژوئن)، گیت توانست مدیریت ریلیز نسخه بعدی لینوکس را بر عهده بگیرید.
چرا گیت (Git)؟ دلایل محبوبیت آن چیست؟
- سرعت فوق العاده
- حجم کم مخزن (Repository)
- پایداری
- راحتی کار با شاخهها (Branch)
- کامیت با جزئیات بیشتر
- تمیز بودن Working directory با فولدرهای .git
- نمایش میزان پیشرفت عملیات
- Feature rich بودن گیت (تنوع زیاد مجموعه دستورات و امکانات)
mahdi.sh4199 دانشجوی دوره
با سلام خدمت جناب آقای تقی زاده ضمن تشکر از دوره بسیار عالی شما یک سوال داشتم
من طبق اموزش که شما دادید وخود سایت github داده فایل readme درست کردم ولی در پروفایل من نمایش داده نمیشود
ممنون میشم راهنمایی کنید
محمد تقی زاده مدرس دوره
سلام مهدی عزیز، خوشحالم که با آموزش های برنامه نویسی همراه هستی
حتما آموزش های چنل یوتیوب رو هم مشاهده کن
در رابطه با سوالت هم احتمالا یکی از قدم هایی که در ویدئو راجع بهش توضیح دادم را جا انداختید. اگر مشکلت حل نشد در تلگرام بهم پیام بده حتما کمکت میکنم.
تلگرام: tqzdh
egitiravan دانشجوی دوره
سلام . متاسفانه اموزش دهنده بطرز آزار دهنده ای مدام روی صفحات مختلف و دستورات مختلف میچرخد و حرفی که در ده دقیقه میتواند بزند را تا نیم ساعت طول میدهند . بدلیل اینکه خودش هنوز گیج است که دقیقا چطوری میخواهد توضیح دهد. بجز این مساله سیلابس دروس خوب بود.
محمد تقی زاده مدرس دوره
سلام دوست عزیز، تشکر از نظرت، تا به امروز تعداد خیلی زیادی از دانشجویان برای ورود به بازار کار از این آموزش استفاده کردن و فیدبک های مثبتشون انرژی بخش من برای تولید محتوای با کیفیت با قیمت مناسب به زبان فارسی بوده، اگر توجه کنید به outline ها و سرفصل های آموزش، سعی شده کامل ترین آموزش گیت و گیتهاب فارسی رو تهیه کنیم، نظر شما محترمه ولی این رو در نظر بگیر که یک دوره آموزشی طیف وسیعی از مخاطبین رو شامل میشه و من باید بعنوان مدرس در یک زمان مناسب سعی کنم مطلب عمیقی مثل سورس کنترلر هارو برای اکثریت مخاطبین با سطوح مختلف جا بندازم. و این مساله با ارائه مثال های مختلفی که در محیط terminal هست مهیا میشه که شما برداشتتون این بوده که چرا بین تب ها جا به جا میشیم.
در آخر اگر سوالی در رابطه با جلسات مختلف داشتید، من همیشه هستم که بهتون کمک کنم و میتونید واسم سوالاتتون رو بفرستید.
آرزوی موفقیت برای شما در دنیای برنامه نویسی
mohammadkh934 دانشجوی دوره
دوره کاملا کاربردی و مفید و قیمت مناسب
محمد تقی زاده مدرس دوره
سلام محمد عزیز، خوشحالم همراه هستید با آموزش ها
محمد تقی زاده مدرس دوره
تمام هدف ما تولید آموزش های با کیفیت برای ورود شما به بازار کار در سریعترین زمان ممکن هست
با آرزوی موفقیت برای شما
m_sh دانشجوی دوره
تشکر بابت دوره خوبتون
محمد تقی زاده مدرس دوره
تشکر از شما که همراهی میکنید با آموزش ها :)
olfat80r دانشجوی دوره
سلام آقای تقی زاده . در مورد مبحث ریبیس به نظرم از نظر تمیز شدن هیستوری برنچ اصلی خیلی کاربردیه . ولی استاد اگه برنچ که قراره ریبیس بشه شامل کامیت های زیادی باشه مثلا شونزده هفده تا کامیت داشته باشیم اگر ریبیس کنیم چنین برنچیو گیت هر کدوم از این شونزده تا کامیت دونه دونه باید تغییر بده . و شانس بیاریم که به کانفلیکت نخوریم . برای برنچ هایی با تعداد کامیت کم ریبیس کردن خوبه . درسته که روش عادی مرج تمیزی تاریخچه کم می کنه ولی برای چنین برنچ هایی با کامیت های زیاد فکر می کنم روش مرج بهتر باشه . ممنون میشم استاد یه راهنمایی کنید که این استراتژی میتونه درست باشه یا نه ؟
محمد تقی زاده مدرس دوره
سلام سؤال خیلی خوبی پرسیدی، نکته اول اینکه دقیقا هدف git rebase اینه که به یک حالت خطی از کامیت هامون برسیم که در زمان merge کردن خیلی تمیز و مرتب بشه و همونظور که در جلسات بهصورت کامل با مثال های عملی و کدها بررسی کردیم هدف کلی در یک جمله تمیز کردن تاریخچه کامیت ها با حالت fast forward سازی هست (حتما و حتما دوباره جلسه merge و rebase رو چند بار مشاهده کن)
اما در رابطه با conflict اگر تعداد کامیت هایی که از زمان انشعاب یک branch انجام شده خیلی زیاد باشه، اره احتمال مشکل زیاد میشه طبیعتا و توصیه اینه که به موقع باید عملیات merge رو در پروژه های واقعی انجام بدید و تاریخچه branch اصلی و یا همون master نباید خیلی عقب بیافته از کامیت های سایر شاخه ها
امیدوارم که پاسخ سوالت رو گرفته باشی، کانتنت هایی که در یوتیوب چنل قرار میدیم در زمینه برنامه نویسی هم حتما مشاهده کن
آرزوی موفقیت برای شما در مسیر یادگیری برنامه نویسی
olfat80r دانشجوی دوره
سلام استاد. یه سوال داشتم . من 7 تا کامیت در برنچ مستر دارم . ( کامیت هفتم آخرین کامیت یعنی HEAD است ) . من می خوام برم به کامیت 4 و از کامیت چهارم یک برنچ جدید درست کنم . با دستور git reset HEAD~3 وارد کامیت چهارم میشم . و کامیت های برنچ جدید درست می کنم . تا این زمان وقتی git log –oneline –all میزنم همه چیز به صورت کاملا درست کار می کنه . اما وقتی میخوام برگردم به تاریخچه اصلی و اول پروژه ام با دستور git reset commitId 7 . و بعدش git log –oneline –all –graph میزنم گراف اشتباهی کلا نشون میده در واقع کامیت های مستر با برنچ new-feature جابه جا می کنه . ممنون میشم راهنمایی کنید مشکل کجاست . مرسی
محمد تقی زاده مدرس دوره
سلام دوست گرامی ، همونطور که در داخل درسنامه ها توضیح دادم برای جابجایی بین کامیت ها باید از دستور git checkout commit_id استفاده کنید و اونجا برنچ جدیدت رو بسازی دستور reset برای کار شما مناسب نیست و تاریخچه ات رو پاک کرده ، حتما با دقت درسنامه هارو مشاهده کن ، این سناریوها همگی در درسنامه ها و ویدئو ها بررسی شده
موفق باشی
irahmad00001 دانشجوی دوره
سلام خدا قوت
مشکلی نیست که من و رفقام این دوره رو باهم بخریم حدود 6 نفری قراره این دوره رو بخریم؟
محمد تقی زاده مدرس دوره
سلام احمد عزیز ، خوشحالم که قصد دارید با آموزش همراه بشید ، با دوستان پشتیبانی هماهنگ کن برای خرید دسته جمعی بهتون حتما تخفیف میدن که بتونید از دوره استفاده کنید.
موفق باشی ، حتما محتواهای رایگان داخل یوتیوب ، اینستاگرام و کانال تگرام رو هم در کنار دوره ها تماشا کن میتونه خیلی کمکت کنه
Peyman.Javidan
سلام در مورد github action توضیح دادید استاد ؟؟
olfat80r دانشجوی دوره
استاد ی سوال داشتم
کاملا rebase را متوجه شدم و همچنین انواع مرج را
اما خوب مشکل three way چیه ! که ما بخواهیم rebase انجام بدیم تا به صورت fast forward این مرج کردنه انجام بشه !؟
محمد تقی زاده مدرس دوره
سلام رفیق ، خوشحالم با دوره همراه هستید ، جلسه git rebase یعنی قسمت 20 رو حتما و حتما دوباره مشاهده کن با دقت ، در ابتدا جلسه گفتم بهتون علتش رو ، بهصورت خلاصه وقتی fast forward کار رو جلو میبریم تاریخپه برنچهامون حالت خطی پیدا میکنه و مدیریت هیستوریش برای من و توی برنامه نویسی که در یک تیم هستیم راحت تر میشه و به همین خاطره برنامه نویس ها fast forward رو ترجیح میدن.
mnu دانشجوی دوره
سلام . امکان داره سناریوهای مختلف merge , conflict رو هم بزارید یا راهنمایی کنید؟
محمد تقی زاده مدرس دوره
سلام ، کاملا در درسنامه دوره بررسی شده بحث های merge کردن برنچ ها و conflict های معمولی که رخ میده ، حتما با دقت ویدئو و داکیومنتیشن رو مشاهده کن و در رابطه باهاش سرچ کن ، سوال و چالشی هم داشتی در تلگرام حتما بپرس کمکت میکنم
موفق باشی
mansoure.naeimabadi دانشجوی دوره
تفاوت local و global رو درست متوجه نمیشم، منبعی هست که بیشتر دربارش توضیح داده باشه ؟
محمد تقی زاده مدرس دوره
سلام ، در درسنامه دوره و ویدئو ها بصورت کامل بررسی کردیم ، چالش خاصی نباید باشه ، بحث پیچیده ای نیست با دقت یکبار دیگه ویدیو رو مشاهده کنید ، سوالی داشتید در تلگرام هستم و کمکتون میکنم بهترین منبع هم سایت و داکیومنتیشن رسمی گیت یعنی https://git-scm.com/doc هستش
آرزوی موفقیت برای شما
mansoure.naeimabadi دانشجوی دوره
سلام ، چطوری میشه یک ریپازیتوری رو در گیت هاب فقط خواندنی کرد ؟
nadia.pmz دانشجوی دوره
دوره بسیار کاملی بود. ممنون
مدرس تسلط بسیار خوبی روی مطالب داشت. اما فکر می کنم نحوه بیان و ارایه مطلب میتونه بهتر هم بشه. به عنوان مثال استفاده مکرر از یک کلمه در زمان تدریس مخاطب رو خسته می کنه
با این حال ممنون. لذت بردم
soheylakazemi
سلام ممنون از نظرات شما دوست عزیز
محمد تقی زاده مدرس دوره
تشکر از نظر شما دوست عزیز خوشحالم با آموزش ها همراه شدید
آرزوی موقیت برای شما در دنیای برنامه نویسی :)
salardoripy دانشجوی دوره
عالی
soheylakazemi
ممنون از شما دوست عزیز
محمد تقی زاده مدرس دوره
درود و تشکر ، خوشحالم که همراه ما هستید
ahmad hasani
آموزش بسیار جامع و فایل های خیلی حرفه ای در قالب آموزش جامع گیت و گیت هاب ارائه شده بود
samirakazemifar0
ممنون از اینکه وقت گذاشتین و نظرتون برامون نوشتین .
محمد تقی زاده مدرس دوره
خوشحالم که از آموزش ها استفاده کردید و همراه ما هستید ، هدف ما تولید با کیفیت ترین درسنامه ها و دوره های پروژه محور و کاربردی در دنیای برنامه نویسی برای شما عزیزان هست
maryam15
فقط می تونم بگم دوره گیت هاب شما شاهکاره. آفرین به شما.
soheylakazemi
سلام ممنون از شما دوست عزیز
محمد تقی زاده مدرس دوره
برای برنامه نویسی ها و دانشجویان شاهکاری مثل شما دوست گرامی ، باید سعی کنیم دوره هایی شاهکار تولید کنیم :)
heroshima
من هم آموزش GitHub و هم آموزش جامع هوش مصنوعی را خریداری کردم هر دو عالی بودند.
samirakazemifar0
ممنون از نظرتون دانشجویاری عزیز .
محمد تقی زاده مدرس دوره
خوشحالم که همراهانی چون شما داریم ، آرزوی موفقیت دارم واست در طول مسیر یادگیری پایتون و سورس کنترل گیت
Mostafa.Jahani دانشجوی دوره
سلام استاد. در قسمت merge conflict ، برای من داخل vscode و حتی نوت پد قسمتهای کانفلیکت فایل اصلی و فایل merge شده رو نشون نمیده که رفع کانفلیکت کنم. آیا باید تنظیمات خاصی رو اجرا کنم؟
محمد تقی زاده مدرس دوره
درود دوست عزیز
راجع به سوالی که پرسیدی : احتمال میدم که کلا کانفلیکتی در فرآیند merge ایی که انجام دادی بوجود نیومده باشه ، باید دقیقا به شرایطی که این مشکل پیش میاد یکبار دیگه دقت کنی ، یکبار دیگه بصورت خلاصه اینجا هم توضیح میدم بهت همونطور که در درسنامه با زبان ساده و کامل سعی کردم بهتون با شرایط مختلق راجع به کانفلیکت توضیح بدم :
زمانی این مشکل پیش میآد که در دو برنچ مختلف ، دقیقا بخشی از یک فایل یکسان تغییر کرده و کامیت شده ، به این کامیت شده خیلی دقت کن (داخل دوره هم خیلی تاکید کردم)
روی پروژه ات git status بگیر ببین آیا بهت میگه که Merge Conflict داری یا نه (احتمال میدم بصورت Fast Forward مرج شده باشه)
اگر چالشت اوکی نشد از طریق تلگرام پیام بده بهت حتما کمک خواهم کرد
در انتها آرزوی موفقیت
امیر رضا صلواتی نژاد
بهترین دوره گیت و گیتهابی بود که دیدم و به صورت کاملا عمیق و عملی تونستم گیت رو کاملا یاد بگیرم ، گیت واجبه برای هر برنامه نویسی و اگر برنامه نویس بخواد حرفه ای با یک تیم کار کنه و یا پروژه های شخصی اش گیت رو باید کامل بلد باشه ، مشکلم این بود که اصلا دوره کامل گیت پیدا نمیکردم همه فقط اومده بودن یه سری موارد مهم و پر استفاده برای کار متوسط با گیت رو گفته بودن اما این دوره واقعا هم از لحاظ فن تدریس استاد و هم کیفیتش و هم مهمترین چیز اینکه خود استاد به شدت برنامه نویس کارکشته ای بود و مطالب رو با مثال کد میگفت واقعا عالی بود
استاد یه سوال هم دارم : ازتون درباره کدنویسی تمیز پرسیده بودم قبلا توی اینستاگرام گفتید قصد دارید یک دوره کدنویسی تمیز با پایتون آماده کنید میخواستم زمانش رو بدونم و اینکه واقعا خودم به شخصه منتظر اون دوره هستم
با تشکر از سایت خوبتون
محمد تقی زاده مدرس دوره
درود امیر رضای عزیز ، تشکر از نظر به شدت انرژی بخشت :))) دقیقا هدف ما در این مجموعه آموزش حرفه ای و جامع گیت در دنیای واقعی با پروژه های واقعی بوده برای برنامه نویس های حرفه ای :)
امیدوارم که نهایت استفاده رو از دوره داشته باشی و در مسیر برنامه نویسی روز به روز پیشرفت کنی و level up بشی :)
در رابطه با دوره های جدید خبر های به شدت خفنی در راه هست قراره که یک استودیوی خفن برای ضبط دوره ها و پادکست ها آماده کنم (در مجموعه خودم) که کیفیت دوره ها و کانتنت های فارسی برنامه نویسی مون رقابت کنه با کانتنت های خفن انگلیسی :)))
آرزوی موفقیت برای شما
rezatva دانشجوی دوره
دوره خیلی خوبی هستش فقط پارت 19 که راحب merge هستش بشدت بد توضیح داده شده
واقعا گیج کننده بود پارت 19 ولی باقیه دوره عالی بود
محمد تقی زاده مدرس دوره
درود رضای عزیز ، تشکر از توجه و همراهیت
حتما چندین بار ویدئوی جلسات مهم رو با دقت مشاهده کن ، بحث merge کردن و کلا برنچ ساختن در گیت به شدت مهمه و البته مباحث جلسات به بهترین شکل و خفن ترین شکل سعی شده آماده بشه به ویژه بحث های ساختن برنچ ها و فلسفه شون و ادغامشون ، مشکلت رو حتما بصورت دقیق با اشاره دقیق بگو که بشه کمکت کرد
M
باسلام مممنونم از اموزش خوبتون برای من سوال است چطوری میشه از گیت در ویزال استدیو 2019 یا 2017 منظورم برنامه نویسی که کدهای سی شارپ رو می نویسه استفاده کرد ؟ یک برنامه نویسی سی شارپ یک سوالش که شامل چندین پروژه است داره چطوری باید از گیت استفاده کنه ؟
محمد تقی زاده مدرس دوره
درود دوست گرامی ، در مورد سوالی که پرسیدی ، اینکه چطور از از سورس کنترل گیت در محیط توسعه ویژوال استودیو استفاده کنی ، کار به شدت ساده ای هست ، مساله اینجاست که خود گیت رو یاد بگیری و درک کنی بعد استفاده اش برای هر برنامه نویسی بسته به حوزه ای که داره کار میکنه و زبان های برنامه نویسی مختلف اصلا تفاوتی نداره فقط در ide های مختلف باید ببینی چطور میتونی گیت رو روی ide خودت راه اندازی کنی که خیلی خیلی ساده هست
در دوره جامع گیت بطور مثال در کنار آموزش جامع و مفهومی گیت از محیط توسعه Visual studio code استفاده کردیم که یکی از پر استفاده ترین محیط های توسعه هست ، برای ویژوال استودیو هم قدم به قدم با داکیومنتیشن خود مایکروسافت جلو برو خیلی مشابه هست روش کار :
https://docs.microsoft.com/en-us/visualstudio/version-control/git-with-visual-studio?view=vs-2019
smn78
یه سوال فقط آقای تقی زاده
نمیشه به جای یه سایت برای چند تا سایت تو گیت هاب میزبانی گرفت؟
محمد تقی زاده مدرس دوره
درود مجدد
خیر متاسفانه ، روی هر اکانت میتونید یک سایت رو هاست کنید و منطقی هم هست دیگه عملا سایتی که هاست میکنید قراره که صاحب اون اکانت (یک شخص ، یک پروژه ، یک تیم یا یک کمپانی) رو پرزنت کنه …
smn78
واقعا آموزش خوبی بود و استفاده کردیم.
مخصوصا این که داکیومنت و پاورپوینت هم براش درست کرده بودین.
ممنون آقای تقی زاده 🌹🌹🌹
محمد تقی زاده مدرس دوره
درود دوست عزیزم ، تشکر از انرژی و حمایت شما :)))
در مورد داکیومنتیشن دوره هم سعی من همیشه اینه که برای دوره ها یک داکیومنت کامل بنویسم و دانشجوهای برنامه نویس رو هم تشویق به داکیومنت نویسی و داکیومنت خوانی کنم
آرزوی موفقیت برای شما.
ایمان افضلی
سلام
این دوره به صورت command line هست یا از طریق gui چون command line خیلی آسون تر از gui هست و اکثر شرکت ها اجازه استفاده از gui رو نمدهند .
بعضی از محیط های گرافیکی به مراتب پیچیده تر هستند .
ممنون
محمد تقی زاده مدرس دوره
سلام آقای افضلی عزیز،
این دوره بصورت کامل تمامی دستورات مهم git رو پوشش میده و کاملا واضحه که در محیط ترمینال و command line پیش میریم بهمراه مثال های خیلی خوب و دنیای واقعی ، عملا دستورت گیت رو باید در این محیط یاد بگیرید و برای مستر شدن باید در این محیط کار کنید ، البته بعنوان یک مستر در گیت باید نحوه استفاده از GUI های مختلف رو نیز یاد بگیرید که این مورد هم در این دوره جامع براتون کامل توضیح داده شده ،
در مجموع سعی کردیم جامع ترین و کامل ترین دوره گیت و گیت هاب فارسی رو برای دانشجویان آماده کنیم که برای هر برنامه نویسی یکی از مهارت های مهم و ضروری هستش یادگیری درسنامه های این دوره…
آروزی موفقیت برای شما عزیزان در مسیر برنامه نویسی حرفه ای …