کداکسپلور | CodeExplore
7.93K subscribers
2.01K photos
359 videos
110 files
1.85K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
👋خوش اومدین به یکی دیگه از آموزش های گیت و گیت هاب

◀️امروز قراره درباره stash توی گیت صحبت کنیم

اول از همه راجب کاربرد stash ها داخل گیت بگم که برای مدیریت بهتر تغییراتتون و جا به جایی تغییرات و حفظ و نگه داری اونا حتی بین برنچ ها میتونین ازش استفاده کنین

⚡️شما وقتی که تغییراتتون رو وارد فضای استش میکنین، این تغییرات یه مرحله اضافه میشن به استش ها و کنار استش های قبلی قرار میگیرن و هرکدوم هم یه ایندکس دارن مثل ارایه ها
و خب حالا وقتی تغییراتتون استش میشه انگار اونا پاک میشن، بهتر بگیم، منتقل میشن به فضای استش، و مثل یک مرحله که کامیت شده باشه اونجا هستن و امادن که شما ازشون استفاده کنین
اینم بگم که تغییرات داخل استش محدود به یه برنچ نیستن و میتونین از یه برنچ، تغییرات رو استش کنین و ببرین داخل یه برنچ دیگه
با استفاده از تغییراتی که قبلا استش کردید هم میتونین اونارو بازم برگردونین به پروژتون و انگار تازه نوشته شدن!

بریم سراغ نحوه استفاده ازش:
git stash


شما با استفاده از این دستور، تمام تغییراتتون رو وارد لیست استش ها میکنین و اونجا ذخیره میشن

اگر هم میخاین یه مسیج برای استش خودتون ست کنین این دستور رو بزنین:
git stash -m "message"


برای دیدن لیست استش هاتون از دستور زیر استفاده کنین:
git stash list


👑دقت کنین وقتی که شما این لیست رو مشاهده میکنین، هر استش هم یه ایندکس داره مثلا 0
خب حالا ما چطور میتونیم از این استش هامون استفاده کنیم و بریزیمشون داخل کدامون؟
ما دوتا دستور داریم برای اینکه این کار رو انجام بدیم و استش هامون رو استفاده کنیم:
git stash apply <stash index>

🗣️با استفاده از این دستور، شما میاین و از لیست استش هاتون، اون استشی که میخاین رو با استفاده از ایندکس استفاده میکنین و تغییرات اون استش وارد ریپازتوری میشه، اما استش همچنان داخل لیست میمونه و حذف نمیشه و میتونین بازم استفاده کنین

git stash pop <stash index>

این دستور هم مثل دستور بالاس ولی با این تفاوت که استشی که با ایندکس صدا زدین، استفاده میشه و بعدش از لیست استش ها پاک میشه و بای بای

در آخر هم ممکنه ما بخایم یه استش رو پاک کنیم ولی استفادش نکنیم پس این دستور رو میزنیم:
git stash drop <stash index>


🟢یه مثال هم برای استفاده از استش ها بزنم، شما فرض کنین دارین روی یه پروژه کار میکنین و همکارتون پروژه رو روی گیت هاب اپدیت میکنه، خب شما اگه الان بیاین و با استفاده از pull ، پروژه رو اپدیت کنین با کد هاتون اگه تغییری داشته باشین به تداخل میخورین چون اپدیت گیت هاب با کد های لوکال شما فرق داره، پس اول کد هاتون رو استش کنین ، بعدش اپدیت کنین، و باز تغییراتتون رو از استش خارج کنین:
git stash -m "before update"
git pull
git stash list
git stash pop 0


🟢مثال دوم: فرض کنین درحال توسعه پروژه دارین با چندین برنچ کار میکنین و مثلللا کارتون روی اون برنچ تموم شده و فیچر مورد نظرتون رو ساختین، ولی حواستون نیست و هنوز روی همون برنچ دارین یه فیچر دیگه میسازین، اینجا میاین تغییرات این فیچر جدید رو استش میکنین و میرین به برنچ جدید و باز ازشون استفاده میکنین:
git status
git stash -m "change branch"
git checkout main
git checkout -b improv/new-branch
git stash list
git stash pop 0


#git #git_stash
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥146❤‍🔥3
✔️خوش اومدین به آخرین قسمت از مباحث کاربردی گیت و گیت هاب

امروز قراره راجب مبحث تگ ها در گیت و alias ها توضیح بدیم

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

نحوه ساخت یه تگ:
git tag -a v2.0 -m 'version v2.0'

ارسال همه تگ ها به گیت هاب:
git push --tags


ارسال یه تگ خاص به گیت هاب:
git push origin <tag_name>


حالا یسری دوستان میگن که چرا میگی ارسال به گیت هاب، منظورم همون ریپازتوری ریموت هست

پاک کردن یه تگ:
git tag -d <tag_name>


👑و اما بریم سراغ تنظیم یسری کانفیگ با alias ها روی گیت، کانفیگ هایی که بهتون میگم برای اینه که با گیت راحت تر کار کنین:
 git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status


در اصل شما با زدن این کانفیگ ها، دارین یه کامند خلاصه میسازین، از الان به جای اینکه بنویسین checkout میتونین از co استفاده کنین که خیلی بهتره
🔥🔥🔥🔥🔥🔥🔥🔥
و خلاصه دوستان اموزش های کاربردی گیت و گیت هاب به پایان رسید امیدوارم به کارتون اومده باشه
#git #git_config #git_alias #git_tag
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥174🔥3😁1
⭐️‏GitHub و GitLab دو تا سرویس هستن که برنامه‌نویسا برای مدیریت کدها و پروژه‌هاشون استفاده می‌کنن، ولی یه سری فرقای مهم دارن.

👑GitHub
- چیه؟ GitHub یه سایتیه که توش می‌تونی کدهای پروژه‌هات رو بذاری، با هم‌تیمی‌هات کار کنی و کلاً پروژه رو مدیریت کنی.
- ویژگی‌ها: GitHub ابزارهایی داره که می‌تونی باهاشون مشکلات رو مدیریت کنی، تغییرات کد رو بررسی کنی (Pull Request) و حتی بعضی از کارای تکراری رو خودکار انجام بدی (مثل GitHub Actions).
- محبوبیت: GitHub خیلی بین برنامه‌نویسا معروفه، چون راحت می‌شه باهاش کار کرد و کلی ابزار دیگه هم باهاش سازگارن.

👀GitLab
- چیه؟ GitLab هم یه سرویس شبیه GitHubه، ولی با امکانات بیشتر. علاوه بر اینکه می‌تونی کدها رو مدیریت کنی، ابزارهایی هم برای تست و استقرار خودکار (CI/CD) داره.
- میزبانی: GitLab رو هم می‌تونی روی سرورهای خودت نصب کنی و مدیریت کنی، که اگه بخوای داده‌هات رو کاملاً دست خودت نگه داری، خیلی خوبه.

📌 فرق‌های اصلی بین GitHub و GitLab
1. میزبانی: تو GitHub معمولاً کدها روی سرورهای خودشون میزبانی می‌شه، ولی GitLab رو هم می‌تونی روی سرور خودت نصب کنی.
‏2.‏ ‏CI/CD: GitLab ابزارهای قوی‌تری برای تست و استقرار خودکار داره. GitHub هم داره، ولی GitLab زودتر این ویژگی‌ها رو داشت.
3. مدیریت پروژه: GitLab برای مدیریت کل پروژه از اول تا آخر ابزارای بیشتری داره. GitHub بیشتر روی مدیریت کد تمرکز داره.
4. کنترل دسترسی: GitLab تو تنظیم دسترسی‌ها و مجوزها دقیق‌تره، مخصوصاً برای تیم‌های بزرگ.
5. متن‌باز بودن: GitLab یه نسخه متن‌باز داره که می‌تونی باهاش هر تغییری که خواستی بدی. GitHub این‌طوری نیست.

⚡️در کل، GitHub برای پروژه‌های عمومی و کارای تیمی کوچیک‌تر یا پروژه‌های متن‌باز عالیه. ولی اگه یه تیم بزرگتر داری یا می‌خوای کنترل بیشتری روی پروژه و داده‌هات داشته باشی، GitLab گزینه بهتریه.

#git #github #gitlab
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥246❤‍🔥5
🌐 چگونه یک پروژه موجود را به GitHub پوش کنید

🙂 ‏GitHub یک ابزار مدیریت گیت به صورت میزبانی ابری است که بسیاری از توسعه‌دهندگان از آن برای مدیریت پشتیبان‌گیری از مخازن کد خود استفاده می‌کنند. گیت یک سیستم کنترل نسخه توزیع‌شده است؛ به این معنا که کل مخزن و تاریخچه پروژه در هر جایی که آن را ذخیره کنید وجود خواهد داشت. افراد و سازمان‌ها از GitHub برای ذخیره‌سازی، همکاری و مدیریت پروژه‌های نرم‌افزاری خود استفاده می‌کنند.

🌐 برای مشاهده کامل مقاله کیک کنید

#git #github
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2113❤‍🔥6
توی آپدیت جدید گیت چه تغییراتی می‌بینیم؟ 🤔
گیت که به تازگی ورژن 2.49 رو منتشر کرده تغییرات جالبی داشته بریم و سریع با هم تغییراتش رو بررسی کنیم.

🔹 git-backfill – حل مشکل کلون‌های ناقص
اگه موقع clone کردن از فیلتر --filter=blob:none استفاده کرده باشی، گاهی گیت مجبور می‌شد تک‌تک فایل‌ها رو جدا جدا از سرور بگیره (مثل git blame). حالا git-backfill اومده که یه جا همه‌ی فایل‌های لازم رو دانلود کنه و سرعتو ببره بالا.

🔹 بهبود فشرده‌سازی با zlib-ng
گیت حالا می‌تونه از zlib-ng استفاده کنه که نسبت به نسخه قبلی ۲۵٪ سریع‌تره! می‌تونی با git version --build-options چک کنی ببینی گیتت ازش استفاده می‌کنه یا نه.

🔹 یه الگوریتم جدید برای فشرده‌سازی بهتر
گیت ۲.۴۹ یه مدل جدید از "name-hashing" داره که باعث کاهش چشمگیر حجم بسته‌های گیت می‌شه. بعضی پروژه‌ها تا ۲۰ برابر حجم کمتری گرفتن!

🔹 پشتیبانی از Rust در libgit
اگه با Rust کار می‌کنی، حالا یه سری قابلیت‌های پایه‌ای گیت رو می‌تونی مستقیم از طریق Rust صدا بزنی.

🔹 deprecate شدن .git/branches و .git/remotes
اگه تا حالا از این پوشه‌ها استفاده می‌کردی (که احتمالا نه 😅)، بدون که تو نسخه بعدی گیت کاملا حذف می‌شن.

🔹 قابلیت promisor remote
گیت داره راهی می‌سازه که سرور بتونه به کلاینت بگه "این فایل‌های حجیم رو از یه جای دیگه بگیر" تا کار با پروژه‌های بزرگ راحت‌تر بشه.

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

حمایت فراموش نشه😉
اتفاقات جدیدی تو راهه...

#git #update
☕️ Telegram | Website | Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22❤‍🔥41
‏Cheatsheet دستورات کاربردی برای VSCode و Git 📃

#git #vscode #cheatsheet #commands
☕️Telegram | Website | Discord
🔥23😍5❤‍🔥4