التكامل الرسمي لـ GitHub وGitHub Enterprise.
gitsome
؟على الرغم من أن سطر أوامر Git القياسي يعد أداة رائعة لإدارة عمليات إعادة الشراء المدعومة بـ Git، إلا أنه قد يكون من الصعب تذكر استخدام :
لا يتكامل سطر أوامر Git مع GitHub ، مما يجبرك على التبديل بين سطر الأوامر والمتصفح.
gitsome
- واجهة سطر أوامر Git/GitHub فائقة الشحن مع الإكمال التلقائي يهدف gitsome
إلى تعزيز واجهة git/shell القياسية الخاصة بك من خلال التركيز على:
لا تعمل جميع مسارات عمل GitHub بشكل جيد في الوحدة الطرفية؛ محاولات gitsome
لاستهداف أولئك الذين يفعلون ذلك.
يتضمن gitsome
29 أمرًا متكاملاً في GitHub تعمل مع جميع الأصداف:
$ gh <command> [param] [options]
قم بتشغيل أوامر gh
مع أوامر Git-Extras وأوامر hub لفتح المزيد من عمليات تكامل GitHub!
يمكنك تشغيل الصدفة الاختيارية :
$ gitsome
لتمكين الإكمال التلقائي والمساعدة التفاعلية لما يلي:
يقوم gitsome
بالإكمال التلقائي لما يلي:
لتمكين عمليات الإكمال التلقائي الإضافية، راجع قسم تمكين عمليات إكمال Bash.
يدعم gitsome
الاقتراحات التلقائية بنمط السمكة. استخدم مفتاح right arrow
لإكمال الاقتراح.
يتم تشغيل gitsome
بواسطة xonsh
، الذي يدعم Python REPL.
قم بتشغيل أوامر Python جنبًا إلى جنب مع أوامر shell:
يمكن العثور على ميزات xonsh
الإضافية في xonsh tutorial
.
يتتبع gitsome
الأوامر التي تدخلها ويخزنها في ~/.xonsh_history.json
. استخدم مفاتيح الأسهم لأعلى ولأسفل للتنقل عبر سجل الأوامر.
يمكنك التحكم في ألوان ansi المستخدمة للتمييز عن طريق تحديث ملف ~/.gitsomeconfig
الخاص بك.
تتضمن خيارات الألوان ما يلي:
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
في حالة عدم وجود لون، قم بتعيين القيمة (القيم) على None
. يمكن أن يظهر white
باللون الرمادي الفاتح في بعض المحطات الطرفية.
gitsome
متاح لأنظمة التشغيل Mac وLinux وUnix وWindows وDocker.
لا تعمل جميع مسارات عمل GitHub بشكل جيد في الوحدة الطرفية؛ محاولات
gitsome
لاستهداف أولئك الذين يفعلون ذلك.
gitsome
بدأ للتو. لا تتردد في المساهمة!
gh configure
gh create-comment
gh create-issue
gh create-repo
gh emails
gh emojis
gh feed
gh followers
gh following
gh gitignore-template
gh gitignore-templates
gh issue
gh issues
gh license
gh licenses
gh me
gh notifications
gh octo
gh pull-request
gh pull-requests
gh rate-limit
gh repo
gh repos
gh search-issues
gh search-repos
gh starred
gh trending
gh user
gh view
gh configure
gh
خارج نطاق gitsome
PIL
أو Pillow
الاستخدام:
$ gh <command> [param] [options]
configure Configure gitsome.
create-comment Create a comment on the given issue.
create-issue Create an issue.
create-repo Create a repo.
emails List all the user's registered emails.
emojis List all GitHub supported emojis.
feed List all activity for the given user or repo.
followers List all followers and the total follower count.
following List all followed users and the total followed count.
gitignore-template Output the gitignore template for the given language.
gitignore-templates Output all supported gitignore templates.
issue Output detailed information about the given issue.
issues List all issues matching the filter.
license Output the license template for the given license.
licenses Output all supported license templates.
me List information about the logged in user.
notifications List all notifications.
octo Output an Easter egg or the given message from Octocat.
pull-request Output detailed information about the given pull request.
pull-requests List all pull requests.
rate-limit Output the rate limit. Not available for Enterprise.
repo Output detailed information about the given filter.
repos List all repos matching the given filter.
search-issues Search for all issues matching the given query.
search-repos Search for all repos matching the given query.
starred Output starred repos.
trending List trending repos for the given language.
user List information about the given user.
view View the given index in the terminal or a browser.
راجع مرجع أوامر تكامل GitHub في COMMANDS.md للحصول على مناقشة تفصيلية لجميع أوامر تكامل GitHub والمعلمات والخيارات والأمثلة.
تحقق من القسم التالي للحصول على مرجع سريع .
gitsome
للتكامل بشكل صحيح مع GitHub، يجب عليك أولاً تكوين gitsome
:
$ gh configure
بالنسبة لمستخدمي GitHub Enterprise، قم بالتشغيل باستخدام علامة -e/--enterprise
:
$ gh configure -e
$ gh feed
اعرض خلاصة نشاطك أو خلاصة نشاط مستخدم آخر، بشكل اختياري من خلال جهاز النداء باستخدام -p/--pager
. يتوفر خيار النداء للعديد من الأوامر.
$ gh feed donnemartin -p
$ gh feed donnemartin/gitsome -p
$ gh notifications
عرض جميع طلبات السحب الخاصة بإعادة الشراء الخاصة بك:
$ gh pull-requests
عرض جميع القضايا المفتوحة التي تم ذكرك فيها:
$ gh issues --issue_state open --issue_filter mentioned
عرض كافة المشكلات، وتصفية المشكلات المخصصة لك فقط، بغض النظر عن الحالة (مفتوحة، مغلقة):
$ gh issues --issue_state all --issue_filter assigned
لمزيد من المعلومات حول عامل التصفية ومؤهلات الحالة، قم بزيارة مرجع gh issues
في COMMANDS.md.
$ gh starred "repo filter"
مشكلات البحث التي تحتوي على أكبر عدد من إجراءات 1+:
$ gh search-issues "is:open is:issue sort:reactions-+1-desc" -p
البحث عن القضايا التي لديها أكبر عدد من التعليقات:
$ gh search-issues "is:open is:issue sort:comments-desc" -p
ابحث عن المشكلات باستخدام علامة "المساعدة المطلوبة":
$ gh search-issues "is:open is:issue label:"help wanted"" -p
ابحث عن المشكلات التي تم وضع علامة على اسم المستخدم الخاص بك @donnemartin :
$ gh search-issues "is:issue donnemartin is:open" -p
ابحث في جميع قضاياك الخاصة المفتوحة:
$ gh search-issues "is:open is:issue is:private" -p
لمزيد من المعلومات حول مؤهلات الاستعلام، قم بزيارة مرجع مشكلات البحث.
ابحث في جميع مستودعات Python التي تم إنشاؤها في عام 2015 أو بعده، مع >= 1000 نجمة:
$ gh search-repos "created:>=2015-01-01 stars:>=1000 language:python" --sort stars -p
لمزيد من المعلومات حول مؤهلات الاستعلام، قم بزيارة مرجع مستودعات البحث.
عرض اتفاقيات إعادة الشراء الشائعة:
$ gh trending [language] [-w/--weekly] [-m/--monthly] [-d/--devs] [-b/--browser]
عرض المطورين الرائجين (البرامج المطورة مدعومة حاليًا في المتصفح فقط):
$ gh trending [language] --devs --browser
view
اعرض الإشعارات المدرجة مسبقًا، وطلبات السحب، والمشكلات، واتفاقيات إعادة الشراء، والمستخدمين وما إلى ذلك، باستخدام HTML منسق بشكل جيد لجهازك الطرفي، أو بشكل اختياري في متصفحك:
$ gh view [#] [-b/--browser]
issue
عرض مشكلة:
$ gh issue donnemartin/saws/1
pull-request
عرض طلب السحب:
$ gh pull-request donnemartin/awesome-aws/2
.gitignore
قم بإدراج جميع قوالب .gitignore
المتاحة:
$ gh gitignore-templates
قم بإعداد .gitignore
الخاص بك :
$ gh gitignore-template Python > .gitignore
LICENSE
قائمة بجميع قوالب LICENSE
المتاحة:
$ gh licenses
إعداد LICENSE
الخاص بك أو :
$ gh license MIT > LICENSE
اتصل بـ Octocat ليقول الرسالة المحددة أو بيضة عيد الفصح:
$ gh octo [say]
$ gh user octocat
اعرض ملف التعريف الخاص بك باستخدام الأمر gh user [YOUR_USER_ID]
أو باستخدام الاختصار التالي:
$ gh me
إنشاء تعليق:
$ gh create-comment donnemartin/gitsome/1 -t "hello world"
إنشاء مشكلة:
$ gh create-issue donnemartin/gitsome -t "title" -b "body"
إنشاء الريبو:
$ gh create-repo gitsome
تدعم العديد من أوامر gh
خيار -p/--pager
الذي يعرض النتائج في جهاز النداء، حيثما كان ذلك متاحًا.
الاستخدام:
$ gh <command> [param] [options] -p
$ gh <command> [param] [options] --pager
تدعم العديد من أوامر gh
خيار -b/--browser
الذي يعرض النتائج في متصفحك الافتراضي بدلاً من جهازك الطرفي.
الاستخدام:
$ gh <command> [param] [options] -b
$ gh <command> [param] [options] --browser
راجع COMMANDS.md للحصول على قائمة مفصلة بجميع أوامر التكامل GitHub، والمعلمات، والخيارات، والأمثلة.
هل تواجه صعوبة في تذكر هذه الأوامر؟ تحقق من أداة الإكمال التلقائي المفيدة مع المساعدة التفاعلية لإرشادك خلال كل أمر.
لاحظ أنه يمكنك الجمع بين gitsome
والأدوات المساعدة الأخرى مثل Git-Extras.
تتم استضافة gitsome
على PyPI. سيقوم الأمر التالي بتثبيت gitsome
:
$ pip3 install gitsome
يمكنك أيضًا تثبيت أحدث gitsome
من مصدر GitHub والذي يمكن أن يحتوي على تغييرات لم يتم دفعها بعد إلى PyPI:
$ pip3 install git+https://github.com/donnemartin/gitsome.git
إذا لم تكن تقوم بالتثبيت في virtualenv
، فقد تحتاج إلى تشغيله باستخدام sudo
:
$ sudo pip3 install gitsome
pip3
اعتمادًا على الإعداد الخاص بك، قد ترغب أيضًا في تشغيل pip3
باستخدام -H flag
:
$ sudo -H pip3 install gitsome
بالنسبة لمعظم مستخدمي Linux، يمكن تثبيت pip3
على نظامك باستخدام حزمة python3-pip
.
على سبيل المثال، يمكن لمستخدمي Ubuntu تشغيل:
$ sudo apt-get install python3-pip
انظر هذه التذكرة لمزيد من التفاصيل.
يمكنك تثبيت حزم Python في virtualenv
لتجنب المشكلات المحتملة المتعلقة بالتبعيات أو الأذونات.
إذا كنت من مستخدمي Windows أو إذا كنت تريد المزيد من التفاصيل حول virtualenv
، فاطلع على هذا الدليل.
تثبيت virtualenv
و virtualenvwrapper
:
$ pip3 install virtualenv
$ pip3 install virtualenvwrapper
$ export WORKON_HOME=~/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh
قم بإنشاء virtualenv
gitsome
وقم بتثبيت gitsome
:
$ mkvirtualenv gitsome
$ pip3 install gitsome
إذا لم ينجح تثبيت pip
، فمن المحتمل أنك تقوم بتشغيل Python 2 افتراضيًا. تحقق من إصدار بايثون الذي تقوم بتشغيله:
$ python --version
إذا أدى الاستدعاء أعلاه إلى Python 2، فابحث عن المسار إلى Python 3:
$ which python3 # Python 3 path for mkvirtualenv's --python option
قم بتثبيت بايثون 3 إذا لزم الأمر. قم بتعيين إصدار Python عند الاتصال mkvirtualenv
:
$ mkvirtualenv --python [Python 3 path from above] gitsome
$ pip3 install gitsome
إذا كنت تريد تنشيط gitsome
virtualenv
مرة أخرى لاحقًا، فقم بتشغيل:
$ workon gitsome
لإلغاء تنشيط virtualenv
gitsome
، قم بتشغيل:
$ deactivate
يمكنك تشغيل gitsome في حاوية Docker لتجنب تثبيت Python و pip3
محليًا. لتثبيت Docker، راجع وثائق Docker الرسمية.
بمجرد تثبيت عامل الإرساء، يمكنك تشغيل gitsome:
$ docker run -ti --rm mariolet/gitsome
يمكنك استخدام وحدات تخزين Docker للسماح لـ gitsome بالوصول إلى دليل العمل الخاص بك، و.gitsomeconfig و.gitconfig المحلي:
$ docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome
إذا كنت تقوم بتشغيل هذا الأمر كثيرًا، فربما تريد تحديد اسم مستعار:
$ alias gitsome="docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome"
لإنشاء صورة Docker من المصادر:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ docker build -t gitsome .
gitsome
بمجرد التثبيت، قم بتشغيل برنامج الإكمال gitsome
الاختياري بمساعدة تفاعلية:
$ gitsome
سيؤدي تشغيل الصدفة gitsome
الاختيارية إلى تزويدك بالإكمال التلقائي والمساعدة التفاعلية واقتراحات نمط السمكة وPython REPL وما إلى ذلك.
gh
قم بتشغيل أوامر GitHub المتكاملة:
$ gh <command> [param] [options]
ملحوظة: تشغيل shell gitsome
ليس مطلوبًا لتنفيذ أوامر gh
. بعد تثبيت gitsome
يمكنك تشغيل أوامر gh
من أي غلاف.
gh configure
للتكامل بشكل صحيح مع GitHub، يجب تكوين gitsome
بشكل صحيح:
$ gh configure
قم بالتشغيل باستخدام علامة -e/--enterprise
:
$ gh configure -e
عرض المزيد من التفاصيل في قسم تكوين gh.
افتراضيًا، يبحث gitsome
في المواقع التالية لتمكين إكمال bash.
لإضافة عمليات إكمال bash إضافية، قم بتحديث الملف ~/.xonshrc
مع تحديد موقع عمليات إكمال bash الخاصة بك.
إذا لم يكن ~/.xonshrc
موجودًا، فقم بإنشائه:
$ touch ~/.xonshrc
على سبيل المثال، إذا تم العثور على عمليات إكمال إضافية في /usr/local/etc/my_bash_completion.d/completion.bash
، أضف السطر التالي في ~/.xonshrc
:
$BASH_COMPLETIONS.append('/usr/local/etc/my_bash_completion.d/completion.bash')
سوف تحتاج إلى إعادة تشغيل gitsome
حتى تدخل التغييرات حيز التنفيذ.
gh
خارج نطاق gitsome
يمكنك تشغيل أوامر gh
خارج مُكمل Shell gitsome
. لتمكين إكمال علامة التبويب gh
لسير العمل هذا، انسخ الملف gh_complete.sh
محليًا.
دع bash يعلم أن الإكمال متاح للأمر gh
خلال جلستك الحالية:
$ source /path/to/gh_complete.sh
لتمكين إكمال علامة التبويب لجميع الجلسات الطرفية، قم بإضافة ما يلي إلى ملف bashrc
الخاص بك:
source /path/to/gh_complete.sh
أعد تحميل bashrc
الخاص بك :
$ source ~/.bashrc
نصيحة: .
هو الشكل المختصر source
، لذا يمكنك تشغيل هذا بدلاً من ذلك:
$ . ~/.bashrc
يتضمن zsh
وحدة متوافقة مع عمليات إكمال bash.
قم بتنزيل الملف gh_complete.sh
كما هو مذكور أعلاه وألحق ما يلي بـ .zshrc
الخاص بك:
autoload bashcompinit
bashcompinit
source /path/to/gh_complete.sh
أعد تحميل zshrc
الخاص بك :
$ source ~/.zshrc
PIL
أو Pillow
سيتطلب عرض الصورة الرمزية لأوامر المستخدم gh me
و gh user
تثبيت تبعية PIL
أو Pillow
الاختيارية.
ويندوز* وماك:
$ pip3 install Pillow
*راجع قسم دعم Windows للتعرف على القيود المفروضة على الصورة الرمزية.
لمستخدمي Ubuntu، راجع هذه التعليمات على Askubuntu
يتم تشغيل gitsome
بواسطة xonsh
والذي لا يدعم حاليًا Python 2.x، كما تمت مناقشته في هذه التذكرة.
تم اختبار gitsome
على نظام التشغيل Windows 10 باستخدام cmd
و cmder
.
على الرغم من أنه يمكنك استخدام موجه أوامر Windows القياسي، فمن المحتمل أن يكون لديك تجربة أفضل مع cmder أو conemu.
سيتم تمكين العلامة -t/--text_avatar
دائمًا في الأمرين gh user
و gh me
، نظرًا لأن img2txt
لا يدعم الصورة الرمزية ansi على Windows.
على نظام التشغيل Windows، يمكن العثور على ملف .gitsomeconfig
في %userprofile%
. على سبيل المثال:
C:Usersdmartin.gitsomeconfig
إذا كنت مهتمًا بالمساهمة في gitsome
، فقم بتشغيل الأوامر التالية:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ pip3 install -e .
$ pip3 install -r requirements-dev.txt
$ gitsome
$ gh <command> [param] [options]
pip3
إذا حصلت على خطأ أثناء التثبيت يفيد بأنك بحاجة إلى Python 3.4+، فقد يكون ذلك بسبب تكوين أمر pip
الخاص بك لإصدار أقدم من Python. لإصلاح هذه المشكلة، يوصى بتثبيت pip3
:
$ sudo apt-get install python3-pip
انظر هذه التذكرة لمزيد من التفاصيل.
تتوفر تفاصيل التكامل المستمر على Travis CI.
قم بإجراء اختبارات الوحدة في بيئة Python النشطة الخاصة بك:
$ python tests/run_tests.py
قم بتشغيل اختبارات الوحدة باستخدام tox في بيئات Python المتعددة:
$ tox
ستكون وثائق كود المصدر متاحة قريبًا على موقع Readthedocs.org. تحقق من مستندات المصدر.
قم بتشغيل ما يلي لإنشاء المستندات:
$ scripts/update_docs.sh
المساهمات هي موضع ترحيب!
راجع إرشادات المساهمة للحصول على تفاصيل حول كيفية:
لا تتردد في الاتصال بي لمناقشة أي مشاكل أو أسئلة أو تعليقات.
يمكن العثور على معلومات الاتصال الخاصة بي على صفحة GitHub الخاصة بي.
أقدم لك التعليمات البرمجية والموارد في هذا المستودع بموجب ترخيص مفتوح المصدر. نظرًا لأن هذا هو مستودعي الشخصي، فإن الترخيص الذي تحصل عليه للأكواد والموارد الخاصة بي هو مني وليس من صاحب العمل (Facebook).
Copyright 2016 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.