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 Virtual File System یا با اختصار GVFS متعلق به خود داشته ‌است که شامل مرتبط ساختن Visual Studio IDE با Git و پشتیبانی آن از سوی Client‌های Third-Party می‌باشد.
https://github.com/Microsoft/GVFS
ایجاد GVFS را باید تلاش برای توسعه‌ی نسخه‌ی نرم‌افزاری سیستم کنترل Git برای پروژه‌ها و تیم‌های بسیار بزرگ، مجازی‌سازی فولدر git. و دایرکتوری کاری به شمار آورد. در Git Virtual File System تنها قسمت‌هایی از یک Repo و فایل‌ها دانلود می‌شوند که مورد نیاز توسعه‌دهندگان برنامه‌ها می‌باشد. لازم به ذکر است که این نرم‌افزار با مجازی‌سازی فایل سیستم، به ایجاد یک Back End مبتنی بر سرور و یک لایه‌ی مجازی‌سازی برای Client می‌پردازد.

در نتیجه‌ی تلاش‌های اخیر مایکروسافت، GVFS به زودی از نسخه‌ی بتای Visual Studio 2017.3 پشتیبانی خواهد نمود. در‌حال‌ حاضر این نوع فایل سیستم، با توسعه به سایر Client‌های Git توانسته به فعالیت با SourceTree Client بپردازد. به گفته‌ی Brian Harry، معاون سرویس‌های توسعه‌دهنده‌ی Cloud، پشتیبانی از Tower Client و احتمالا Gitkraken نیز در دستور کار مایکروسافت برای GVFS قرار دارد.

وی در ادامه‌ی صحبت‌های خود بیان نمود: مایکروسافت به منظور حل‌ مسائل مربوط به مقیاس‌پذیری GVFS و اصلاح نسخه‌ی نرم‌افزاری سیستم کنترل Git، با گروه‌ وسیعی از فعالان حوزه‌ی Git همکاری داشته ‌است و حتی با سایر شرکت‌های فعال در این حوزه از جمله گوگل و فیس‌بوک که از چالش‌های مشابهی در زمینه‌ی توسعه‌پذیری برخوردارند، مذاکرات مهمی داشته‌است.

مایکروسافت پشتیبانی از GVFS را به سطح Git for Windows نیز توسعه داده ‌است. بر اساس اظهارات Harry، این شرکت همچنان یک کپی اختصاصی از Git for Windows را در اختیار دارد اما در تلاش است تا به مرور بتواند تحولات را تنها بر روی سیستم اصلی پیاده نماید.

مایکروسافت علاوه بر موارد فوق، Proxy‌هایی را نیز معرفی نموده ‌است تا هنگام مواجهه با مشکلات مربوط به پهنای باند، امکان به ‌جریان ‌انداختن حجم بالایی از داده‌ها را در طول مسیرهای طولانی فراهم نماید. پروکسی Git برای GVFS می‌تواند عملیات مربوط به Offload نمودن داده‌ها در Edge را امکانپذیر سازد. طبق اظهارات Harry، مایکروسافت از Proxy‌ها برای Offload حجم بالایی از ترافیک (مانند Build Serverها) که از سرویس اصلی Visual Studio Team Services در جریان می‌باشد نیز استفاده می‌کند تا به این‌ترتیب مانع از کاهش کیفیت تجربه‌ی کاربر در زمان اوج بار‌ گردد. وی تعداد پروکسی‌های Git مایکروسافت در سطح جهان را ۲۰ عدد اعلام نمود.

نکته‌ی قابل توجه وجود یک Server Component در GVFS می‌باشد که برای فعالیت به سرویس Team Cloud Service نیاز دارد؛ به همین دلیل برای استفاده‌ی توسعه‌دهندگان از GVFS متن‌باز، ایجاد یک حساب‌کاربری Visual Studio Team Services دارای Git Repo ضرورت می‌یابد.
#git #windows #gvfs @unixmens
تنها ۳ روز دیگر تا شروع دوره باقی است
#git @unixmens
گیت (به انگلیسی: Git) یک نرم‌افزار کنترل نسخه و از مدل نرم‌افزارهای آزاد و متن‌باز برای بازنگری کد منبع توزیع شده و مدیریت منبع کد است که برای دنبال کردن تغییر فایلهای کامپیوتری و دنبال کردن کردن کارهای انجام شده روی آن‌ها توسط افراد مختلف است. هدف اولیه این نرم‌افزار برای استفاده در پروژه‌های نرم‌افزاری بوده‌است ولی می‌توان از آن تنها برای دنبال کردن تغییر فایل‌ها هم استفاده کرد.

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

گیت یک نرم‌افزار آزاد است که تحت عنوان جی‌پی‌ال نسخه ۲ توزیع شده‌است.

🔅دسته بندی:#Tool

🔅دستور نصب:

sudo apt install git-all

از ابزار های گرافیکی تحت ور میتوان به gitlab اشاره کرد
#git @unixmens
با دستور 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