کداکسپلور | CodeExplore
7.9K subscribers
1.92K photos
289 videos
103 files
1.65K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت کد‌اکسپلور:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
تو این پست می‌خوام به طور مختصر و مفید نحوه ی آپلود کردن پروژه تو گیت هاب رو توضیح بدم 👌

🔢 ایجاد ریپازیتوری (Repository) تو گیت هاب

بعد از اینکه با اکانتمون وارد سایت گیت هاب شدیم ، از منو بالا سمت راست، روی علامت + کلیک کنیم و روی New repository بزنیم.

🔢 آپلود پروژه تو ریپازیتوری گیت هاب

🌀 ترمینالمون رو باز میکنیم (اگه از ویندوز استفاده میکنیم باید Git bash رو باز کنیم) و با دستور cd وارد فولدر پروژه که تو دسکتاپمون هست بشیم

👉 cd Desktop/simple-PWA

🔢 دستور زیر رو وارد میکنیم تا یک ریپازیتوری خالی گیت داخل فولدر پروژه اضافه بشه

👉 Git init

🔢 با دستور زیر فایل رو به گیت اضافه میکنیم

👉 git add .

🔢 حالا باید برای این فایل های تازه که به گیت اضافه شدن رو یک پیام مشخص بزاریم:).با دستور زیر این کارو انجام میدیم :

👉 git commit -m "Upload simple PWA project on Github"

🔢 برای گیتی که روی پروژه تعریف کردیم نیازه که یک شاخه پیش‌فرض هم تعیین کنیم :

👉 git branch -M master

🔢 حالا باید فایل گیت رو به گیت هاب اضافه کنیم:

با دستور زیر فایل هایی که به گیت اضافه کردیم رو میفرستیم روی مخزن گیت هاب👌

👉 git push -u origin master

🧑‍💻 برو به سایت گیت هاب

#github #git
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥16🔥53
با استفاده از این سایت میتونید git رو با انجام دادن پروژه های عملی یاد بگیرید💯

👉 https://githowto.com

#git #tutorial
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥93❤‍🔥2😁1
🌐 بنیانگذار گیت‌هاب آقای Scott Chacon یک سخنرانی پرانرژی در FOSDEM 2024 داشت که بخش‌های جالبی از گیت، و همچنین بخش‌هایی از گیت‌هاب رو اومد بررسی کرد💥

براتون لینک یوتیوبش رو قرار میدم که به همراه زیر نویس انگلیسی هست و می تونین بلاگ هایی هم که گذاشته مطالعه کنید👇

🖥 مشاهده ویدیو در یوتیوب

🌐 مشاهده مطالب در وبلاگ

#github #git
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥94🔥3
آموزش Git بصورت مرحله به مرحله از مقدماتی تا پیشرفته 🔝

👉 https://atlassian.com/git/tutorials

#git #tutorial
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥143❤‍🔥2
پرکاربردترین نکات و ترفندهای git 🟢

🌪 https://github.com/git-tips/tips

#git #tips #tricks
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥115❤‍🔥2
Getting Started with Git-@CodeExplore.pdf
682.2 KB
📚 Getting Started with Git

تو این PDF می تونین خیلی راحت و سریع، کار کردن با گیت رو یاد بگیرید😎

🔥🔥🔥🔥🔥🔥🔥🔥

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

#book #git
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤‍🔥33💔1
🚀 آموزش گیت: سفری به دنیای کنترل ورژن

سلام به همه دوستان عزیز! طبق نظرسنجی که داخل کانال قرار گرفت، از امروز قراره آموزش گیت و گیت هاب رو باهم دیگه پیش ببریم🔥

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

✔️ موارد استفاده و فواید گیت
گیت یک سیستم کنترل نسخه توزیع‌شده است که برای مدیریت کد منبع در پروژه‌های بزرگ و کوچک بسیار مفید است. در زیر برخی از فواید استفاده از گیت را می‌بینید:

1. توزیع: گیت یک سیستم توزیع‌شده است، بنابراین هر توسعه‌دهنده می‌تواند یک کپی کامل از مخزن را در سیستم خود داشته باشد.
2. سرعت: گیت سریع است. تمام عملیات‌ها در سیستم محلی انجام می‌شوند، بنابراین نیازی به اتصال به سرور مرکزی نیست.
3. امنیت: گیت از مدل امنیتی SHA1 برای محافظت از تغییرات و نسخه‌بندی فایل‌ها استفاده می‌کند.
4. قابلیت بازگشت: با گیت، شما می‌توانید به هر نقطه‌ای از تاریخچه پروژه بازگردید و تغییرات را بررسی کنید.
5. همکاری: گیت امکان همکاری آسان بین توسعه‌دهندگان را فراهم می‌کند، حتی در پروژه‌های بزرگ.

⚙️ نصب و راه‌اندازی گیت
برای نصب گیت، ابتدا به وب‌سایت رسمی گیت به آدرس https://git-scm.com مراجعه کنید و نسخه مناسب برای سیستم عامل خود را دانلود کنید. پس از دانلود، فایل نصب را اجرا کنید و دستورالعمل‌های نصب را دنبال کنید. پس از نصب، می‌توانید با باز کردن ترمینال یا خط فرمان و تایپ git --version، نصب گیت را بررسی کنید.

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

#git #git_history #git_install #git_1
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26❤‍🔥55
سلام به شما دوستان عزیز، در ادامه آموزش های گیت و گیت هاب امروز رسیدیم به مبحث مخزن ها و دستور git add داخل گیت:

📁مخازن گیت چیستند؟
مخازن گیت یا همان Repository‌ ها، فضایی هستند که در آن تاریخچه تغییرات یک پروژه ذخیره می‌شود. هر مخزن گیت شامل تمامی فایل‌ها و دایرکتوری‌های پروژه و همچنین تاریخچه کامل تغییرات آن‌ها است. در اصل وقتی شما از گیت داخل پروژتون استفاده میکنین، همون دایرکتوری پروژه شما تبدیل به مخزن گیت هم میشه.

🔍چرا از مخازن گیت استفاده می‌شود؟
استفاده از مخازن گیت چندین مزیت دارد:
1.کنترل نسخه ( Version Control ): گیت به شما اجازه می‌دهد تا تغییرات خود را در طول زمان ردیابی کنید. این به شما امکان می‌دهد تا به نسخه‌های قبلی کد برگردید، تغییرات را مقایسه کنید و خطاهای احتمالی را پیدا کنید.
2.همکاری( Collaboration ): با گیت، چندین توسعه‌دهنده می‌توانند بر روی یک پروژه همزمان کار کنند. گیت به هر توسعه‌دهنده اجازه می‌دهد تا در یک "Branch" جداگانه کار کند، بدون اینکه کار دیگران را مختل کند.
3.بازگشت به محیط سالم( Revert to Healthy State ): اگر خطایی رخ دهد، می‌توانید به آخرین نسخه سالم کد برگردید.

🔭دستور git init چیست؟
دستور git init یک دستور ساده ولی قدرتمند در گیت است که یک مخزن گیت جدید ایجاد می‌کند. این دستور یک دایرکتوری پنهان به نام .git ایجاد می‌کند که تمام اطلاعات لازم برای مخزن گیت را در خود دارد.

برای استفاده از این دستور، ابتدا باید یک دایرکتوری برای پروژه خود ایجاد کنید. سپس، درون این دایرکتوری، دستور git init را اجرا کنید. به عنوان مثال:

git init


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

#git #git_repository #git_add #git_2
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥156❤‍🔥4
🔵امروز اومدیم با ادامه اموزش گیت و گیت هاب و قراره امروز درباره فضاهای گیت و کار با یسری از این فضاها صحبت کنیم

◀️لیست انواع فضاهای گیت:
- فضای Working Directory : این فضای کاری برای وقتیه که شما یسری فایل ها اضافه کردین یا اینکه یسری کد هایی زدین و درکل تغییراتی دادین ولی هنوز ثبت نشدن و صرفا گیت اون هارو به عنوان یکسری تغییرات جدید میشناسه.
-فضای Staging Area : این فضای میانی توی گیت بعد از افزودن و ثبت کردن تغییراتتون هست که هر تغییری دادین با استفاده از دستور زیر وارد این فضا میشن و اماده میشن برای Commit شدن:
git add <file name>

-فضای Local Repository : این اخرین فضای لوکال هست که شما از مرحله قبل اومدین و تغییرات رو از فضای Stage با دستور زیر به این فضا اضافه کردید و حالا دیگه تغییراتتون کامل ثبت شده و گیت اون هارو به عنوان یه مرحله جدید از کد هاتون شناسایی میکنه
git commit -m <commit message>


#git #git_spaces #git_add #git_commit
☕️ @CodeExplore
🔥17❤‍🔥65
🔷امروز قراره در ادامه آموزش های گیت و گیت هاب درباره سه تا دستور پر کاربرد صحبت کنیم که البته توی آموزش قبلی به دوتاش اشاره کردیم:

🔹دستور git status : یکی از پرکاربرد ترین و مهم ترین دستورهایی که داخل گیت وجود داره همین دستوره، شما وقتی از این دستور استفاده کنین همونطور که از اسمش معلومه، وضعیت فعلی شمارو میگه، به طور مثال شما یکسری تغییراتی دادین(مثلا فایل اضافه کردین یا یسری کدهایی زدین یا حتی حذف کردین و تغییر دادین) و با استفاده از این دستور میتونین کامل ببینین که دقیقا توی چه فایل هایی تغییری ایجاد شده یا چی اضافه و حذف شده، توی یه لیست کامل خودش نشونتون میده
روش استفادش هم خیلی راحته :
git status


🔹دستور git add : خب ما توی آموزش قبلی یه اشاره بهش کردیم و گفتیم با این دستور، تغییراتمون رو به فضای Staging Area میبریم، ولی قراره بیشتر وارد جزئیات کار باهاش بشیم
در اصل شما وقتی از این دستور استفاده میکنین، میاین و تغییراتی که توی فایل ها اتفاق افتاده رو ثبت میکنین داخل فضای میانی و برای Commit شدن آمادشون میکنین، شما باید زمان استفاده از این دستور مشخص کنین دقیقا چه فایلی رو میخاین به مرحله بعد بفرستین
روش استفاده:
git add <file name>

🔴ولی خب چه اتفاقی میوفته اگه ما تغییرات خیلی زیادی داشته باشیم؟؟ نمیشه که 100 بار این دستور رو برای هر کدوم از فایل ها جدا جدا بنویسیم، در نتیجه ما میایم به جای اسم فایل، از دات استفاده میکنیم:
git add .

و اینطوری تمام تغییراتمون به فضای Staging Area منتقل میشه
ولی یکی از دوستان توی کامنت های آموزش قبلی یه اشاره داشتن به اینکه با استفاده از A- به جای دات میتونیم این کارو بهتر کنیم که به این صورت میشه:

git add -A


حتی بعد از این دستور هم میتونین بازم از دستور git status استفاده کنین تا کامل متوجه بشین چه اتفاقی افتاده، قبل از اینکه تغییرات به Staging Area منتقل بشن و شما وضعیت رو ببینین، رنگشون قرمز هست که یعنی ثبت نشدن ولی بعد از git add و دیدن وضعیت میبینین که سبز شدن و به این معنی هست که تغییراتتون به فضای میانی منتقل شده

🔹دستور git commit : این دستور هم خیلی سادس و میتونین باهاش تغییراتی که توی مرحله قبل با استفاده از git add به فضای میانی اضافه کردین رو به فضای Local Repo منتقل کنین و ثبتشون کنین تا ذخیره بشن داخل مخزن گیت، با ایجاد هر کامیت، انگار یه مرحله جدید از کدتون به ثبت رسیده
👈 یه نکته که داره اینه که شما وقتی یک کامیت جدید میسازین، تاریخ و اسمتون به همراه یه ایدی برای کامیت و یسری پیام ها ذخیره میشه تا دقیقا بدونین این مرحله برای چی بوده و توی چه زمانی ثبت شده و توسط کی بوده
برای اینکه یه متن برای تایتل کامیت در نظر بگیرین از m- استفاده میکنین و اگر هم بخاین توضیحات تکمیلی اضافه کنین بازم از m- استفاده میکنین که اجباری نیست
نحوه استفادش
git commit -m "message" -m "description"


✔️با استفاده از این دستورات میتونین با گیت به راحتی کار کنین ولی هنوز کلی دستور هست که در ادامه بهش میپردازیم

#git #git_status #git_add #git_commit
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤‍🔥54
❤️خوش اومدین به یه آموزش دیگه از سری آموزشی گیت و گیت هاب

⚡️امروز قراره به ادامه دستورات گیت بپردازیم و یسری دستورایی که برای کنترل بهتر گیت به کارمون میان رو باهم یاد بگیریم تا بهتر درک کنیم گیت داره با پروژمون چیکار میکنه

▶️دستور git log : این دستور یه دستور ساده اما پر کاربرد به حساب میاد، شما با استفاده از این دستور میتونین به لیست کامیت(commit) های پروژتون دسترسی داشته باشین و ببینین چه کامیت هایی دارین و حتی ایدی کامیت هارو بخونین تا اگر نیاز داشتین استفادش کنین، ولی این دستور رو میشه بیشتر مدیریت کرد.
فرض کنین شما صد ها کامیت زدین و میخاین الان کامیت هاتون رو مشاهده کنین ولی خب قطعا نیاز ندارین همه کامیت هارو ببینین، مثلا ممکنه 10 تا کامیت آخری که ثبت کردید رو مشاهده کنید، در این صورت این دستور رو اینطوری میزنیم:
git log -10

▶️با این کار فقط 10 تا کامیت آخر رو بهتون نشون میده
ولی خب وقتی شما استفادش کنین میبینین که کامیت هارو داره یکم شلوغ نشونتون میده و ممکنه نخاین اونقدر فضا بگیرن، پس این دستور رو امتحان کنین:
git log --oneline


▶️این دستور لیست کامیت هارو به صورت خلاصه و تک خطی نشونتون میده، فقط حواستون باشه oneline رو با online قاطی نکنین
حتی میشه این دوتارو ترکیب کرد:
git log --oneline -10

ولی خب یه کار خفن دیگه هم میشه کرد! شما میتونین کامیت هاتون رو به صورت درختی و نمودار مانند مشاهده کنین اونم با این دستور:
git log --graph


🟢دستور git diff : این دستور هم به کارتون میاد ولی خب اصولا کارش طوریه که IDE ها هم اکثرا دارن انجام میدن، شما وقتی این دستور رو وارد کنین، تغییراتون نمایش داده میشه، اینکه چه کدی پاک کردین، چه کدی اضافه کردین و چه کدی تغییر کرده رو کامل با جزئیات میتونین ببینین:
git diff


دستور git clear : این دستور خیلی به کار میاد و خیلی هم جذابه، شما با استفاده از این دستور میتونین فایل هایی که ساختین رو به حالت اول برگردونین و کلا حذفشون کنین، البته اینم بگم فقط فایل هایی که ثبت نشده رو از بین میبره، یعنی فایل های untracked رو، ولی خب فایل های untracked چیا هستن؟ دقیقا همون فایل هایی هستن که هنوز شما با استفاده از git add اونارو به فضای stage وارد نکردید
اما بریم سراغ استفادش:
git clean -n 

این دستور لیست فایل هایی که قراره حذف بشن رو نشونتون میده ولی حذف نمیکنه صرفا برای اینه که ببینین اگه بخاین حذف کنین چیا حذف میشه

git clean -f 

این دستور هم که پاک میکنه فایل هایی که اشاره کردیم رو

‼️فقط دوستان حواستون باشه نزنین فایل های مورد نیازتون رو پاک کنین چون دستور git clean قابل برگشت نیست
#git #git_log #git_diff #git_clean
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
15❤‍🔥4🔥4
👋برگشتیم با یه آموزش دیگه از سری آموزشی گیت و گیت هاب و امروز قصد داریم درباره مفهوم شاخه ها(branch) در گیت صحبت کنیم

📌سوال مهم اینه که شاخه ( Branch ) ها چی هستن؟ چیکار میکنن؟ به چه دردی میخورن؟
- شاخه ها توی گیت یه ابزار خیلی قدرتمند و عالی هستن که برای توسعه موازی پروژه به کار میرن، وقتی شما درحال توسعه پروژه هستین به صورت دیفالت روی یه شاخه وجود دارین که اسمش master یا main هست و شاخه اصلی پروژه شناسایی میشه، شما هر کامیتی که میزنین، هر تغییری که انجام میدین روی شاخه‌ی که هستین اعمال میشه پس این خیلی مهمه که برای کار های مختلف و امنیت پروژمون و البته خوانایی بالاتر کارامون بیایم و با چند تا شاخه(از این به بعد میگیم برنچ) کار کنیم تا یسری مزیت هارو داشته باشیم:

⚡️مزیت های کار با برنچ ها :
🟠- توسعه چندین فیچر به صورت همزمان: شما وقتی چند تا برنچ داشته باشین میتونین چندین فیچر و بخش مختلف رو توسعه بدین بدون اینکه کد های اصلی و برنچ اصلی پروژتون تغییری کنه و راحت بین فیچر ها جا به جا شین تا کارتون تموم شه، بعد که درست کار میکردن میتونین برنچ هارو یکی کنین و تغییراتش روی برنچ اصلی پروژتون اعمال بشه که خب عالیه
🟠- جداسازی کار و امنیت : وقتی که شما توسعه پروژتون رو جدا از برنچ اصلی انجام بدین به هر مشکلی هم که بوخورین، چون که روی برنچ اصلی نیستین، اون بیس و اصل پروژتون سالمه و خیالتون راحته که مشکلی برای پروژه پیش نمیاد و هروقت کداتون درست کار میکردن اونارو روی برنچ اصلی قرار میدین
🟠- تست آسان تر : وقتی از برنچ ها استفاده میکنین میتونین راحت چیزای مختلفو تست کنین و بین مراحل جا به جا بشین

حالا چطوری یه برنچ جدید بسازیم؟
با استفاده از دستور زیر میتونین یه برنچ جدید بسازین و هر اسمی دلتون میخاد براش بزارین:
git branch <branch name>


الان که برنچ جدیدتون ساخته شد میتونین با استفاده از دستور زیر، لیست تمام برنچ های موجود رو ببینین که پروژتون چه برنچ هایی داره:

git branch


ولی این موضوع هم هست که ما فقط با ساخت یه برنچ دیگه نمیتونیم باهاش کار کنیم و اول از همه نیاز داریم که برنچ دیگمون که ساختیم سوییچ کنیم، یه دستور ساده داره:
git checkout <branch name>


شما با استفاده از این دستور بین برنچ ها جا به جا میشین و راحت ازشون استفاده میکنین

🔥ولی اینکه ما بیایم یه برنچ جدید بسازیم و بعدش سوییچ کنیم بهش دوتا کامند و دستور جدا میبره و شاید بخایم یه راه خلاصه تر رو استفاده کنیم، پس:
git checkout -b <branch name>

با استفاده از این دستور هم یه برنچ جدید ساخته میشه هم سوییچ میشید به همون برنچ جدید

💎و خب الان دیگه میتونین راحت داخل برنچ جدیدتون هرکاری میخاین کنین و باز هم کامیت هاتون رو بزنین و انگار نه انگار یه برنچ دیگه هستین، ولی قضیه جایی جالب میشه که میخایم این برنچ جدیدمون رو با یه برنچ دیگه (مثلا main ) یکی و ترکیب کنیم تا تغییراتی که اعمال کردیم بره روی برنچ اصلی

✔️اینجا ما یه دستور و مفهوم جدید داریم به اسم merge که از اسمش هم مشخصه برای یکی کردن و تلفیق برنچ ها استفاده میشه
نحوه استفادش خیلی راحته
شما فرض کنین ما یه برنچ main داریم و یه برنچ dev
داخل برنچ dev اومدیم و یسری تغییراتی دادیم و الان میخایم اون رو به برنچ main مرج کنیم
اولین نکتش اینه که داخل اون برنچی باشین که قراره با یکی دیگه مرج بشه، یعنی الان ما میخایم dev رو بریزیم داخل main و یکیشون کنیم، باید اول بریم داخل برنچ main که با دستور checkout راهشو گفتیم
و حالا از این دستور استفاده میکنیم:
git merge <branch name>

و میبینین که الان کامیت ها و تغییرات داخل برنچ dev ، میان و ریخته میشن داخل برنچ main

❗️فقط دوستان یه نکته هست که شما وقتی توی یه برنچ فرعی ( هر برنچی به جز main ) هستین و درحال توسعه اون برنچ هستین، نباید بیاین و داخل برنچ main یسری تغییراتی بدین و کامیتی بزنین چون ممکنه دچار اختلال شه، در اصل ما وقتی یه برنچ جدید میسازیم دارم از برنچ فعلی یه کپی میگیریم اونجا، یعنی شما وقتی توی برنچ main هستین و اونجا یه برنچ dev میسازین، دارین همون محتوا و کد ها و فایل های main رو از روش یه برنچ دیگه به اسم dev میسازین، و خب موقع مرج و ادغام این برنچ ها وقتی dev به عنوان برنچ فرعی یسری تغییراتی داشته و شما داخل main هم باز یه کارایی کردین که دچار اختلال بشه، اینجا یه مشکل میخورین و باید کد ها و تغییراتتون رو با یکم دردسر کاری کنین این اختلال حل بشه پس یادتون باشه برنچ های فرعی رو هرکار خاستین کنین ولی تا وقتی کارتون با اونا تموم نشده از برنچ های اصلی دور شین تغییری توشون ندین

#git #git_branch #git_checkout #git_merge
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
14🔥7❤‍🔥4
🔥کار با مخازن ریموت ( remote branches ) در گیت

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

⚡️اولین دستوری که قراره راجبش صحبت کنیم دستور git push هست که شما با استفاده از این دستور، کامیت هاتون رو به سمت ریپازتوری داخل گیت هاب میفرستین و اونجا ذخیره میشن
روش استفادش هم سادس:
git push 


ولی میتونین ریموت و برنچ رو انتخاب کنین که درباره ساخت ریموت ها در آینده توضیح میدیم:

git push <remote name> <branch name>


💎دستور بعدی git pull هست که برای آپدیت برنچ و ریپازتوری شما از ریپازتوری داخل گیت هاب به کار میره و اینم خیلی راحته:
git pull


با اجرای این دستور ریپازتوری و برنچ هاتون اپدیت میشه ولی خب باید باز هم به ریموت ها دسترسی داشته باشین که هنوز کار داریم باهاش

این دستور هم مثل دستور بالا میتونین ریموت و برنچ رو بهش بدید

#git #git_push #git_pull
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
10❤‍🔥5🔥5
⚡️برگشتیم با یکی از مهم ترین آموزش های گیت و گیت هاب و قراره امروز درباره گیت هاب صحبت کنیم

اول از همه باید بدونیم گیت هاب چیه؟؟ّ
گیت هاب یه جای خوب برای دولوپرهاست که می‌تونن کداشون رو اونجا بذارن و با بقیه به اشتراک بذارن. اینجا بزرگترین مکان برای نگهداری کداست. تو گیت هاب می‌تونی کدات رو با همکارات یا هر کس دیگه‌ای که دوست داری به اشتراک بذاری و با هم روی یه پروژه کار کنی.

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

📌حالا که فهمیدیم گیت هاب چیه بریم سراغ ثبت نام داخلش
اول از همه باید وارد وب سایت
github.com

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

ولی وارد اکانت شدن تازه شروع راه کار با گیت هاب هست
شما وقتی که پروفایلتون رو داخل گیت هاب ساختین، یه قسمت برای ریپازتوری هاتون دارین ( Repositories ) که میتونین اینجا لیست ریپازتوری هاتون رو میبینین و میتونین یکی جدید اضافه کنین
در اصل برای هر پروژه‌ای یه ریپازتوری در نظر میگیریم به صورت معمول
شما وقتی گزینه ساخت ریپازتوری جدید رو بزنین
( Repositories > New )

وارد یه قسمت میشین که بسازینش، شما اسم و توضیحات و حالتش ( pulic یا Private ) رو تنظیم میکنین و دکمه
Create Repository

رو میزنین و بوم
ریپازتوری شما ساخته میشه ولی الان یه قسمت مهم اینه که وصلش کنین به ریپازتوری لوکال خودتون روی سیستمتون ( همون پروژتون )
شما وقتی ریپازتوری رو میسازین، گیت هاب چون اولش خالیه اون ریپازتوری، میفهمه جایی وصل نیست چون کامیتی داخلش نیست پس یسری کد و لینک ریپازتوری جلوتون قرار میده تا راحت وصلش کنین

🔥لینک ریپازتوری شما برای ساخت یه ریموت به کار میاد که دربارش در آینده توضیح میدیم
ولی برای استفاده راحتتون بگم که دوتا باکس براتون میاره که کد های مورد نیاز برای وصلش اورده شده و شما اولین باکس رو کپی کنین و توی پروژتون اجرا کنین و بله دیگه پروژتون یه ریپازتوری گیت هاب وصل میشه
حالا راحت کار میکنین باهاش و طبق آموزش قبلی با استفاده از
git push ، git pull و git clone

راحت میتونین پروژتون رو مدیریت کنین

#git #github
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥145❤‍🔥4
👋بازم یه روز دیگه و یه آموزش خفن از گیت و گیت هاب دیگه

📣امروز قراره در ادامه مباحثمون به کار با ریموت ( remote ) ها بپردازیم

ریموت ها چی هستن؟
ریموت ها به معنی نسخه‌ای از پروژه شما هستن که روی اینترنت یا شبکه وجود دارن (همون گیت هاب مثلا)
شما میتونین برای یه پروژتون یک یا چند ریموت قرار بدین که هرکدوم فقط خواندنی یا خواندنی/نوشتنی هستن

همینجا اشاره میکنم به آموزش قبلی که فهمیدیم وقتی ریپازتوری داخل گیت هاب میسازیم، یه لینک ازش به ما میده، حالا برای ساخت ریموت خودمون میتونیم از اون استفاده کنیم:
git remote add <remote name> <remote url>

اینجا اسم ریموت دلخواهه و اصولا برای ریموت اصلی origin میزارن، url هم همون لینکی هست که از گیت هاب اوردین

برای دیدن لیست ریموت هاتون هم از دستور زیر استفاده کنین:

git remote


اگرم قرار باشه یه ریموت رو حذف کنیم:
git remote remove <remote name>


ولی خب ما تازه یه ریموت ساختیم و تااازه فهمیدیم اینهمه تو اموزش های قبلی ریموت ریموت میکردم چه چیزیو میگفتم
برگردیم یه مروری کنیم آموزش های قبل رو:
ببینین ما با ساخت یه ریموت در اصل به ریپازتوری گیت هاب با اون ریموت دسترسی پیدا میکنیم و انگار یه پل ارتباطی میسازیم، ولی خب ما باید چطوری از این ریموت استفاده کنیم؟
شما وقتی ریموت رو میسازین دیگه یسری دستور ها به صورت دیفالت ازش استفاده میکنن مثل:
git push , git pull

استفادشون به صورت گسترده:
git push <remote name> <branch name>
git pull <remote name> <branch name>


مثال:
git push origin main

با این کار من گفتم که عزیز من بیا با استفاده از ریموت origin برو به اون ریپازتوری روی گیت هاب این کامیت هایی که روی برنچ main زدم رو بفرست

ولی خب میشد اینکارو کرد اصلا که خلاصه تره و خود گیت از ریموت استفاده میکنه:
git push


خلاصه دوستان شما برای اینکه بتونین با ریپازتوری روی گیت هاب در ارتباط باشین باید با ریموت ها کار کنین و حالشو ببرین که بنظرم خیلی اسونه اصل کار ساختنشه بقیش آب خوردنه

#git #git_remote #git_push #git_pull
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥6❤‍🔥5💔1
👋خوش اومدین به یکی دیگه از آموزش های گیت و گیت هاب

◀️امروز قراره درباره 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