للحصول على معلومات إضافية في موجه ل GIT بواسطة ZSH
سؤال
يبدو أن torvalds لديها موجه التالي.
[torvalds@g5 git]$
الكلمة الأولى هي اسم المستخدم. g5
يبدو أن فرع في جيت ريبو، في حين git
يدل على أنه فرع في جيت.
موجه الحالي
PROMPT="$"
كيف يمكنك الحصول على موجه مماثل كورفالدز؟
المحلول
في الواقع، أنا أظن ذلك g5
يشير إلى اسم المضيف للآلة وهو يعمل حاليا على git
هو دليل العمل الحالي. التنسيق [user@hostname dir]$
هو معيار جميل (أي موجه شل على نطاق واسع).
نصائح أخرى
تكامل GIT مع إكمال باش للبرمجة يوفر وظيفة اسمه __git_ps1
.
إذا قمت بتغيير الخاص بك PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
(في الخاص بك .bashrc
أو بعض الملفات الأخرى المصدرة بشكل تفاعلي)، ولا تفعل أي تخصيصات أخرى، فإن موجه الخاص بك سيبدو هكذا:
user @ host ~] $ cd / usr / src / linux [user @ host linux ((v2.6.30))] $
إذا كنت تستخدم زيش (بدلا من باش أكثر شعبية)، نلقي نظرة على معلومات VCS في المطالبات منشور بلوق من Xana Yammering حول استخدام vcs_info
النظام الفرعي الذي طورته فرانك تيربيك ل ZSH، مع Backend for git.
مثل الأفمائية قال، سوف ترغب في ذلك جيت باش سيناريو, ، تعليمات التثبيت بالقرب من الجزء العلوي من الملف. قد ترغب أيضا في التحقق من دليل دليل جيثب لهذا. شيء واحد يستحق الذكر هو أن الفرع سوف يظهر فقط إذا كنت في دليل git. على سبيل المثال، هذا هو ما يشبه موجه العادي: blaenk@macbook:~ $
والمظهر يبدو أن هذا عندما أكون في دليل GIT: blaenk@macbook:~/code/iphone/DIFM (master*)$
إذا نظرت عن كثب، فإن الجزء حيث يظهر الفرع، ماجستير، لديه علامة نجمية بعد ذلك. هذا يدل على أن هناك تغييرات غير صحيحة؛ سيظهر A + إذا تم تنظيم التغييرات. هذا يمكن أن يكون مفيدا جدا. للقيام بذلك، لديك أساسا لتعيين GIT_PS1_SHOWSTASHSTATE
إلى حالة غير فارغة. لذلك على سبيل المثال في الخاص بك ~/.bashrc
أو ~/.bash_profile
, ، ضع ما يلي:
export GIT_PS1_SHOWDIRTYSTATE=true
الآن عندما تذهب إلى دليل GIT، يجب أن ترى المؤشر إذا كان هناك أي تغييرات غير مسبقة أو إذا كانت هناك أي تغييرات مركبة. يمكنك اختبار هذا سريع حقا عن طريق تحرير ملف. يجب أن تظهر العلامة النجمية. يمكنك بعد ذلك استعادة الملف إلى حالته الأصلية من خلال القيام:
git checkout -- the/file.txt
بالمناسبة، أن سيناريو الباش الكامل التلقائي هو أيضا رائع حقا. يمكنك أخيرا أن تفعل أشياء مثل "git chec" ثم اضغط على علامة التبويب، وسوف تتمكن من التلقائي عند الخروج على سبيل المثال، ويمكنك أيضا تلقائيا أسماء فرع كاملة أيضا.
بعض الموارد الأخرى التي ستكون مهتما على الأرجح فيما يليها هي ما يلي، والتي تترشدك من خلال عملية تشكيل مطالبة الخاص بك بالطريقة التي تريدها، وإذا كنت تريد، إضافة لون إلى أجزاء معينة، والتي يمكن أن تجعل من أجل أكثر قابلية للقراءة موجه بالمعلومات. فقط حاول عدم المبالغة في ذلك.
جاء عبر هذا السؤال أثناء البحث. فقط يعتقد أن تبادل حل أحدث لهذا.
موجه السائل يسمح العديد من التخصيص إلى مطالبة ZSH، بما في ذلك إظهار فرع GIT وملليات مختلفة لحالة مختلفة من مستودع GIT.
أحصل على ما يلي أخيرا
function get_git_branch {
git branch | awk '/^\*/ { print $2 }
}
function get_git_dirty {
git diff --quiet || echo '*'
}
function get_git_prompt {
git branch &> /dev/null || return 1
echo "($(get_git_branch)$(get_git_dirty)) "
}
PROMPT="$(get_git_prompt)\$ "