Academy and Foundation unixmens | Your skills, Your future
2.28K subscribers
6.65K photos
1.36K videos
1.23K files
5.97K links
@unixmens_support
@yashar_esm
unixmens@gmail.com
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
با دستور git-cherry-pick آشنا شویم :


در واقع git cherry-pick یک دستور در Git است که برای انتخاب یک یا چند کامیت (commit) خاص از یک شاخه (branch) و اعمال آن‌ها در شاخه فعلی استفاده می‌شود. به بیان ساده، این دستور به شما اجازه می‌دهد تا تغییرات مشخصی را از تاریخچه گیت انتخاب کرده و در شاخه‌ای دیگر اعمال کنید.


چرا از git cherry-pick استفاده کنیم؟

1. انتقال تغییرات خاص بدون ادغام کامل: گاهی اوقات لازم است فقط یک یا چند تغییر مشخص را از یک شاخه به شاخه دیگری منتقل کنید، بدون اینکه همه تغییرات شاخه مبدا را ادغام کنید. git cherry-pick این امکان را فراهم می‌کند.

2. رفع باگ‌ها در چند شاخه: اگر یک باگ در یک شاخه برطرف شده و نیاز است همان رفع باگ در شاخه‌های دیگر هم اعمال شود، می‌توانید از git cherry-pick استفاده کنید.

3. کنترل دقیق بر تغییرات : برخلاف دستور git merge که همه تغییرات یک شاخه را ادغام می‌کند، با استفاده از git cherry-pick می‌توانید به‌طور دقیق تغییرات مورد نظر خود را انتخاب و اعمال کنید.


ویژگی‌های git cherry-pick

- انتخاب دقیق: به شما این امکان را می‌دهد که فقط تغییرات مشخصی را از یک یا چند کامیت اعمال کنید.
- تاریخچه شفاف: برخلاف git merge`، که تغییرات را به‌صورت یکجا در تاریخچه گیت ثبت می‌کند، `git cherry-pick تغییرات را به‌طور جداگانه و شفاف ثبت می‌کند.
- پشتیبانی از چندین کامیت: می‌توانید چندین کامیت را به‌صورت همزمان انتخاب و اعمال کنید.


مثال‌های `git cherry-pick`

1. انتخاب یک کامیت خاص:

فرض کنید می‌خواهید یک کامیت خاص با شناسه abc123 را از شاخه feature-branch به شاخه فعلی اعمال کنید:



   git checkout main
git cherry-pick abc123


این دستور تغییرات کامیت abc123 را در شاخه main اعمال می‌کند.

2. انتخاب چندین کامیت پشت سر هم:

اگر می‌خواهید چندین کامیت پشت سر هم (برای مثال از abc123 تا def456) را انتخاب کنید:



   git cherry-pick abc123..def456


3. انتخاب چندین کامیت غیرپشت سر هم:

می‌توانید کامیت‌های غیرپشت سر هم را نیز انتخاب کنید:


   git cherry-pick abc123 def456 ghi789


4. بررسی تعارض‌ها (Conflicts):

گاهی اوقات ممکن است هنگام اجرای git cherry-pick با تعارض مواجه شوید. در این صورت، Git به شما اطلاع می‌دهد که کدام فایل‌ها تعارض دارند و شما باید آن‌ها را به‌صورت دستی حل کنید. پس از حل تعارض‌ها، دستورهای زیر را اجرا کنید:



   git add <resolved-files>
git cherry-pick --continue


به طور کلی با استفاده از git cherry-pick می‌توانید کنترل دقیقی بر تاریخچه پروژه خود داشته باشید و تغییرات دلخواه را به راحتی بین شاخه‌های مختلف انتقال دهید.

#git #branch #tip #tips #linux #devops #scv
#source #control #version #sourcecontrol

https://t.me/unixmens
👍1
🔘معرفی ربات جدید انویدیا:گامی بزرگ در توسعه‌ی ربات‌های انسان‌نما

در کنفرانس GTC 2025، انویدیا از مدل GR00T N1 رونمایی کرد؛ یک مدل پایه‌ی متن‌باز که برای توسعه‌ی سریع‌تر ربات‌های انسان‌نما طراحی شده است. این مدل به ربات‌ها کمک می‌کند با کمترین داده، مهارت یاد بگیرند و کارهای پیچیده انجام دهند. در این رویداد، ربات NEO Gamma شرکت 1X با استفاده از این مدل، به‌طور خودکار وظایف مرتب‌سازی را انجام داد.

ربات GR00T N1 از یک ساختار دو بخشی، شبیه به تفکر و شناخت انسانی استفاده می‌کند؛ سیستمی برای تصمیم‌گیری سریع مشابه شهود انسان و سیستمی دیگر برای تحلیل و برنامه‌ریزی. این مدل توسط شرکت‌هایی مانند Boston Dynamics، Agility Robotics و Neura Robotics نیز مورد استفاده قرار گرفته و داده‌های آموزشی آن، از طریق Hugging Face و GitHub در دسترس توسعه‌دهندگان قرار دارد.
#opensource #open #source

@unixmens
ما یک تیم شدیم، نه با قرارداد یا اجبار، بلکه با یک خواست مشترک: رشد، یادگیری و ساختن چیزی فراتر از خودمان. ما آدم‌هایی بودیم با دغدغه، با رؤیاهای بزرگ، با زخم‌هایی که درمانشان را در دانش، رفاقت، و تلاش جمعی می‌دیدیم. ما فهمیدیم که کنار هم بودن یعنی دیدن، شنیدن، پذیرفتن و رشد دادن یکدیگر.

تعالی برای ما یک کلمه‌ی تزئینی نبود؛ مسیری بود که با آگاهی، خطا، تجربه، و بازاندیشی طی کردیم. ما خودمان را ساختیم، تیم‌مان را، و بعد هم سعی کردیم به محیط‌مان معنا بدهیم. با هر جلسه‌ای که گذاشتیم، با هر ایده‌ای که به اشتراک گذاشتیم، و با هر چالشی که باهم روبه‌رو شدیم، یک قدم جلوتر رفتیم.
ما فقط برای خودمان نمی‌خواستیم بهتر شویم؛ می‌خواستیم جهانِ کوچک‌ اطراف‌مان را هم یک‌ذره بهتر کنیم.

و حالا که به گذشته نگاه می‌کنیم، می‌فهمیم که آنچه ساختیم، فقط یک تیم نبود — بلکه یک جریان بود، یک حرکت اصیل انسانی به سوی روشنایی.

https://t.me/unixmens

#open #source #software #freedom #linux #foss #floss #gnu #devops #culture #life #style #enterprise #opensource
👏1