هذا هو الأمر git-worktree الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
git-worktree - إدارة أشجار العمل المتعددة
موجز
طائرة نفاثة com.worktree تضيف [-f] [--فصل] [-ب ] [ ]
طائرة نفاثة com.worktree تقليم [-n] [-v] [- expire ]
طائرة نفاثة com.worktree الإدارية [--خزف]
الوصف
إدارة العديد من أشجار العمل المرفقة بنفس المستودع.
يمكن أن يدعم مستودع git العديد من الأشجار العاملة ، مما يسمح لك بسحب أكثر من
فرع واحد في كل مرة. مع git worktree ، أضف شجرة عمل جديدة مرتبطة بامتداد
مخزن. تسمى شجرة العمل الجديدة هذه "شجرة العمل المرتبطة" بدلاً من شجرة العمل
"شجرة العمل الرئيسية" التي تم إعدادها بواسطة "git init" أو "git clone". يحتوي المستودع على ملف رئيسي واحد
شجرة العمل (إذا لم تكن مستودعًا مجردًا) وصفرًا أو أكثر من أشجار العمل المرتبطة.
عند الانتهاء من استخدام شجرة العمل المرتبطة، يمكنك ببساطة حذفها. الشجرة العاملة
ستتم إزالة الملفات الإدارية الموجودة في المستودع (راجع "التفاصيل" أدناه) في النهاية
تلقائيًا (راجع gc.worktreePruneExpire في بوابة التكوين(1)) ، أو يمكنك تشغيل git worktree
قم بتقليم في شجرة العمل الرئيسية أو أي شجرة عمل مرتبطة لتنظيف أي ملفات إدارية قديمة.
إذا قمت بنقل شجرة عمل مرتبطة، فستحتاج إلى تحديث الملفات الإدارية يدويًا
حتى لا يتم تقليمهم تلقائيًا. راجع قسم "التفاصيل" لمزيد من المعلومات.
إذا تم تخزين شجرة عمل مرتبطة على جهاز محمول أو مشاركة عبر الشبكة وهي ليست كذلك
مثبتة دائمًا ، يمكنك منع تقليم ملفاتها الإدارية عن طريق إنشاء ملف
ملف اسمه مقفل جنبًا إلى جنب مع الملفات الإدارية الأخرى ، والتي تحتوي اختياريًا على ملف عادي
السبب النصي الذي يجب منع التقليم. راجع قسم "التفاصيل" لمزيد من المعلومات.
أوامر
يضيف [ ]
يخلق والدفع بداخله. دليل العمل الجديد مرتبط بـ
المستودع الحالي، ومشاركة كل شيء باستثناء الملفات المحددة لدليل العمل
مثل الرأس والفهرس وما إلى ذلك.
لو تم حذفه ولم يتم استخدام -b ولا -B ولا منفصل ، إذن ، كـ a
الراحة ، يتم إنشاء فرع جديد مقره في HEAD تلقائيًا ، كما لو كان -b $ (basename
) تم تحديده.
تقليم
قم بتقليم معلومات شجرة العمل في $ GIT_DIR / worktrees.
الإدارية
قائمة تفاصيل كل شجرة عمل. يتم إدراج شجرة العمل الرئيسية أولاً، تليها كل منها
أشجار العمل المرتبطة. تتضمن تفاصيل الإخراج ما إذا كانت شجرة العمل عارية، والمراجعة
تم سحبه حاليًا، والفرع تم سحبه حاليًا (أو منفصل هيد if
لا أحد).
OPTIONS
-f ، - القوة
بشكل افتراضي ، إضافة يرفض إنشاء شجرة عمل جديدة عندما تم فحصه بالفعل
من خلال شجرة عمل أخرى. ويتجاوز هذا الخيار هذه الحماية.
-ب ، -ب
مع الإضافة، قم بإنشاء فرع جديد باسم يبدأ من ، وتحقق من
في شجرة العمل الجديدة. لو تم حذفه، ويتم تعيينه افتراضيًا على HEAD.
افتراضيًا، يرفض -b إنشاء فرع جديد إذا كان موجودًا بالفعل. -B يتجاوز هذا
حماية ، إعادة ل .
--فصل
مع الإضافة، افصل الرأس في شجرة العمل الجديدة. انظر "الرأس المنفصل" في بوابة الخروج(1).
-n ، - تشغيل جاف
مع البرقوق، لا تقم بإزالة أي شيء؛ فقط قم بالإبلاغ عما سيزيله.
- البورسلين
باستخدام القائمة، قم بالإخراج بتنسيق سهل التحليل للنصوص البرمجية. سيبقى هذا التنسيق
مستقر عبر إصدارات Git وبغض النظر عن تكوين المستخدم. انظر أدناه ل
تفاصيل.
-v ، - الإسراف
باستخدام الخوخ ، قم بالإبلاغ عن جميع عمليات الإزالة.
--تنقضي
مع التقليم ، تنتهي صلاحية الأشجار العاملة غير المستخدمة الأقدم من .
المواصفات
تحتوي كل شجرة عمل مرتبطة على دليل فرعي خاص في المستودع
دليل $GIT_DIR/worktrees. عادةً ما يكون اسم الدليل الفرعي الخاص هو الاسم الأساسي لـ
مسار شجرة العمل المرتبطة، ربما يتم إلحاقه برقم لجعله فريدًا. ل
على سبيل المثال، عندما يضيف الأمر $GIT_DIR=/path/main/.git الأمر git Worktree /path/other/test-next
يقوم بعد ذلك بإنشاء شجرة العمل المرتبطة في /path/other/test-next ويقوم أيضًا بإنشاء ملف
الدليل $GIT_DIR/worktrees/test-next (أو $GIT_DIR/worktrees/test-next1 إذا كان الاختبار التالي هو
مأخوذة).
ضمن شجرة العمل المرتبطة، يتم تعيين $GIT_DIR للإشارة إلى هذا الدليل الخاص (على سبيل المثال
/path/main/.git/worktrees/test-next في المثال) وتم تعيين $GIT_COMMON_DIR على النقطة
العودة إلى $GIT_DIR لشجرة العمل الرئيسية (على سبيل المثال /path/main/.git). يتم إجراء هذه الإعدادات
في ملف .git الموجود في الدليل العلوي لشجرة العمل المرتبطة.
تحليل المسار عبر git rev-parse --git-path يستخدم إما $GIT_DIR أو $GIT_COMMON_DIR
اعتمادا على المسار. على سبيل المثال، في شجرة العمل المرتبطة git rev-parse --git-path
إرجاع HEAD /path/main/.git/worktrees/test-next/HEAD (ليس /path/other/test-next/.git/HEAD
أو /path/main/.git/HEAD) أثناء git rev-parse --git-path refs / heads / master الاستخدامات
$GIT_COMMON_DIR وإرجاع /path/main/.git/refs/heads/master، حيث أن المراجع مشتركة
عبر جميع الأشجار العاملة.
يرى gitrepository-layout(5) لمزيد من المعلومات. القاعدة الأساسية هي عدم القيام بأي شيء
افتراض حول ما إذا كان المسار ينتمي إلى $GIT_DIR أو $GIT_COMMON_DIR عندما تحتاج إلى ذلك
الوصول مباشرة إلى شيء ما داخل $GIT_DIR. استخدم git rev-parse --git-path للحصول على النتيجة النهائية
مسار.
إذا قمت بنقل شجرة عمل مرتبطة، فستحتاج إلى تحديث gitdir الملف في الإدخال
الدليل. على سبيل المثال، إذا تم نقل شجرة العمل المرتبطة إلى /newpath/test-next وملفها
يشير ملف .git إلى /path/main/.git/worktrees/test-next، ثم قم بالتحديث
/path/main/.git/worktrees/test-next/gitdir للإشارة إلى /newpath/test-next بدلاً من ذلك.
لمنع تقليم إدخال $GIT_DIR/worktrees (والذي قد يكون مفيدًا في بعض
في المواقف، مثل عندما يتم تخزين شجرة عمل الإدخال على جهاز محمول)، قم بإضافة أ
ملف اسمه مقفل إلى دليل الإدخال. يحتوي الملف على السبب بنص عادي.
على سبيل المثال، إذا كان ملف .git الخاص بشجرة العمل المرتبطة يشير إلى
/path/main/.git/worktrees/test-next ثم ملف باسم
/path/main/.git/worktrees/test-next/locked سيمنع إدخال الاختبار التالي
مجردة. يرى gitrepository-layout(5) لمزيد من التفاصيل.
قائمة OUTPUT FORMAT
يحتوي أمر قائمة شجرة العمل على تنسيقين للإخراج. يعرض التنسيق الافتراضي التفاصيل
سطر واحد مع الأعمدة. على سبيل المثال:
قائمة شجرة العمل
/ path / to / bare-source (عاري)
/ path / to / linked-worktree abcd1234 [رئيسي]
/ path / to / other-linked-worktree 1234abc (رأس منفصل)
بورسلان خارجى شكل
يحتوي تنسيق الخزف على سطر لكل سمة. يتم سرد السمات مع التسمية و
القيمة مفصولة بمسافة واحدة. السمات المنطقية (مثل عار و منفصل) مدرجة
كتسمية فقط، وتكون موجودة فقط إذا كانت القيمة صحيحة. سطر فارغ
يشير إلى نهاية شجرة العمل. على سبيل المثال:
قائمة شجرة عمل S git - بورسلين
شجرة العمل /path/to/bare-source
عار
شجرة العمل /المسار/إلى/شجرة العمل المرتبطة
HEAD abcd1234abcd1234abcd1234abcd1234abcd1234
مراجع الفرع/الرؤساء/الماجستير
worktree / path / to / other-linked-worktree
HEAD 1234abc1234abc1234abc1234abc1234abc1234a
منفصل
أمثلة
أنت في منتصف جلسة إعادة الهيكلة ويأتي رئيسك في العمل ويطلب منك ذلك
إصلاح شيء ما على الفور. قد تستخدم عادة بوابة خبأ(1) لتخزين التغييرات الخاصة بك بعيدا
ومع ذلك، مؤقتًا، تكون شجرة العمل الخاصة بك في حالة من الفوضى (مع الجديد، المنقول،
وإزالة الملفات والأجزاء والأجزاء الأخرى المتناثرة) التي لا تريد المخاطرة بها
إزعاج أي منها. بدلاً من ذلك، يمكنك إنشاء شجرة عمل مرتبطة مؤقتة لإنشاء
إصلاح الطوارئ، وإزالته عند الانتهاء، ثم استئناف جلسة إعادة البناء السابقة.
$ git Worktree add -b Emergency-fix ../temp master
Pushd دولار ../temp
# ... هاك هاك ...
$ git الالتزام -a -m "الإصلاح الطارئ للرئيس"
$ popd
$ rm -rf ../temp
$ git Worktree تقليم
استخدم git-worktree عبر الإنترنت باستخدام خدمات onworks.net