it-swarm.asia

كيف أجعل Git يستخدم المحرر الذي أختاره من أجل commits؟

أفضل كتابة رسائل الالتزام في Vim ، لكنها تفتحها في Emacs.

كيف يمكنني تكوين Git لاستخدام Vim دائمًا؟ لاحظ أنني أريد القيام بذلك على مستوى العالم ، وليس فقط لمشروع واحد.

2179
brasskazoo

إذا كنت ترغب في تعيين المحرر فقط لـ Git ، فقم إما (لست بحاجة إلى كليهما):

  • قم بتعيين core.editor في Git config: git config --global core.editor "vim"
  • قم بتعيين GIT_EDITOR متغير البيئة: export GIT_EDITOR=vim

إذا كنت ترغب في تعيين محرر Git وكذلك البرامج الأخرى ، فقم بتعيين متغيرات البيئة الموحدة VISUAL و EDITOR *:

export VISUAL=vim
export EDITOR="$VISUAL"

* إعداد كليهما ليس ضروريًا بالضرورة ، لكن بعض البرامج قد لا تستخدم VISUAL الصحيح. راجع VISUAL مقابل EDITOR .


للحصول على نص Sublime : أضف هذا إلى .gitconfig. --wait مهم. (يسمح لك بكتابة النص في سامية وسوف ننتظر الحفظ/إغلاق الحدث.

[core]
    editor = 'subl' --wait

'subl' يمكن استبداله بالمسار الكامل للتنفيذ ولكن عادة ما يكون متاحًا عند التثبيت بشكل صحيح.

3036
digitaldreamer

انسخ هذا الصق:

git config --global core.editor "vim"

في حال كنت ترغب في معرفة ما تفعله. من man git-commit:

البيئة ومتغيرات التكوين

سيتم اختيار المحرر المستخدم لتحرير رسالة سجل الالتزام من متغير البيئة GIT_EDITOR أو متغير التكوين core.editor أو متغير البيئة VISUAL أو متغير البيئة EDITOR (بهذا الترتيب).

525
Mark Rushakoff

على Ubuntu وأيضًا Debian (بفضلMichielB) ، يمكن أيضًا تغيير المحرر الافتراضي من خلال تشغيل:

Sudo update-alternatives --config editor

والتي سوف يدفع ما يلي:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: 
169
Koen.

في نظام التشغيل Windows 7 ، أثناء إضافة محرر "Sublime" ، كان لا يزال يخطئ:

إحباط الالتزام بسبب رسالة التزام فارغة.

Sublime لم يكن قادرا على الحفاظ على التركيز.

لإصلاح ذلك ، فتحت ملف .gitconfig في c:/users/username/folder وأضفت السطر التالي بخيار - wait خارج علامات الاقتباس المزدوجة.

[core]
      editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait

نأمل أن تكون مفيدة لشخص يواجه مشكلة مماثلة مع Sublime.

59
Anmol Saraf

في Windows 7 ، قم بتعيين المحرر على Notepad ++

  • افتح أي محرر نصوص.
  • افتح هذا الملف: C:\Users\YOUR_USERNAME\.gitconfig
  • أضف هذا القسم إلى الأسفل:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • أحفظ وأغلق الملف.
  • عندما تلتزم باستخدام git ، اكتب فقط git commit واضغط على Enter. وسوف البوب ​​مفتوحة المفكرة ++.
  • اكتب رسالة الالتزام في أعلى الملف ، واحفظ وأغلق الملف. فعله!
52
Ryan

لجعل Visual Studio Code (vscode) محرر git الافتراضي الخاص بك

git config --global core.editor "code --wait"
23
Marcelo Mason

وإذا كنت تعمل مع مصممين باستخدام سطر الأوامر ، فإن بيكو ، ولا تعرف الاختصارات ؛)

git config --global core.editor "pico"

أو

export VISUAL=pico
export EDITOR=pico
22
tristanbailey

إعداد Sublime Text 2 كمحرر Git ملتزم في Mac OSX 10

قم بتشغيل هذا الأمر:

$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"

أو فقط:

$ git config --global core.editor "subl -w"
17
Mohsen

ذرة كمحرر بوابة الخاص بك

git config --global core.editor "atom --wait"

يجب تكوين Atom لتعمل من سطر الأوامر حتى يعمل أعلاه:

OS X : install أوامر Shell من Atom: شريط القوائم> Atom> تثبيت أوامر Shell

Windows : لا يوجد إجراء مطلوب - يتم تكوين الذرة للتشغيل من سطر الأوامر افتراضيًا

15
2Toad

Windows: إعداد المفكرة كمحرر رسائل الالتزام الافتراضي

git config --global core.editor notepad.exe

نجاح Ctrl+S لحفظ رسالة الالتزام الخاصة بك. للتجاهل ، ما عليك سوى إغلاق نافذة المفكرة دون حفظ.

في حالة الضغط على الاختصار للحفظ ، ثم قرر الإجهاض ، انتقل إلى File-> Save as ، وفي مربع الحوار الذي يفتح ، قم بتغيير "Save as type" إلى "All files (*. *)". سترى ملفًا باسم "COMMIT_EDITMSG". احذفها وأغلق نافذة المفكرة.

تحرير: بدلاً من ذلك ، وبسهولة أكثر ، احذف جميع المحتويات من نافذة المفكرة المفتوحة واضغط على حفظ. (شكرا mwfearnley للتعليق!)

أعتقد أنه بالنسبة للكتابات الصغيرة مثل خدمة رسائل الالتزام ، فإن المفكرة تخدم بشكل أفضل ، لأنها بسيطة ، مع وجود نوافذ ، لا يتم فتحها في أي وقت من الأوقات. حتى سامية قد يستغرق ثانية أو اثنتين للحصول على النار عندما يكون لديك الكثير من الإضافات والأشياء.

10
Sнаđошƒаӽ

للمستخدمين إيماكس

.emacs:

(server-start)

shellrcname__:

export EDITOR=emacsclient
9
Bendlas

أفضل الإعدادات لـ Sublime Text 3 كمحرر git (إرشادات Windows و Linux):

لاتباع هذه الإرشادات في نظام Windows ، تأكد من تثبيت بوابة لنظام التشغيل Windows . في نظام التشغيل Windows ، أحب استخدام Git BASH بحيث يبدو أنه يشبه نظام Linux.

أولاً ، نرغب في إنشاء مشروع نص Sublime Text خاص حتى نتمكن من تحديد إعدادات خاصة للمشروع التي نريد ضبطها كلما استدعت git المحرر ، لتسهيل الأمور عند التحرير git. على سبيل المثال ، عادةً ما أقوم بتعيين المسطرة على 120 حرفًا في معظم المشاريع ، لكن بالنسبة لرسائل الالتزام git ، أريدها أن تكون 72 حرفًا بحيث تناسبها بشكل جيد في الجهاز عندما تتصل بـ git log أو git lg .


1. إنشاء مشروع نص سامية مع الإعدادات التي نريد استخدامها لتحرير رسائل التزام بوابة

افتح Sublime Text وانتقل إلى "ملف" -> "نافذة جديدة" لإنشاء مشروع مجهول جديد. انتقل إلى "المشروع" -> "حفظ المشروع باسم ..." واختر مكانًا لحفظه. في Linux قمت بحفظه في دليل Linux الرئيسي الخاص بي مع اسم الملف .gitconfig.sublime-project. المسار هو: ~/.gitconfig.sublime-project. في Windows قم أيضًا بحفظه في الدليل الرئيسي ، على سبيل المثال: C:\Users\MY_USER_NAME\.gitconfig.sublime-project انتقل الآن إلى "Project" -> "تحرير المشروع" لتحرير إعدادات المشروع. الصق التالي وحفظ الإعدادات. قم بإجراء أي تعديلات أخرى لإعدادات مشروعك إذا رغبت في ذلك.

{
    //For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html 

    "folders":
    [

    ],

    "settings":
    {

        // Disables horizontal scrolling if enabled.
        // May be set to true, false, or "auto", where it will be disabled for
        // source code, and otherwise enabled.
        "Word_wrap": false,

        // Set to a value other than 0 to force wrapping at that column rather than the
        // window width
        "wrap_width": 0,

        // Columns in which to display vertical rulers
        "rulers": [72, 50], //72 is recommended by git for commit message content, and 50 for commit titles

        // The number of spaces a tab is considered equal to
        "tab_size": 4,

        // Set to true to insert spaces when tab is pressed
        "translate_tabs_to_spaces": true,
    },

    "build_systems":
    [

    ]

}

2. تعيين المحرر ليتم استخدامها من قبل بوابة

نحتاج الآن إلى تعيين المحرر ليتم استخدامه بواسطة git ، عن طريق تحرير ملف .gitconfig.

لنظام التشغيل Linux:

ستكون نسخة المستخدم الخاصة بك موجودة في ~/.gitconfig. افتح هذا الملف وأضف الأسطر التالية. تأكد من استخدام اسم المسار الصحيح لمشروع git الذي أنشأته للتو! أنا أستخدم ~/.gitconfig.sublime-project.

[core]
    editor = subl --project ~/.gitconfig.sublime-project --wait

--wait مهم ، لأنه يفرض على الانتظار حتى تغلق الملف قبل أن يستمر. يعد سطر --project مهمًا لإخبار نص Sublime عن المشروع الذي تريد فتحه كلما فتحت git Sublime.

إجابة per @ digitaldreamer أعلاه ( https://stackoverflow.com/a/2596835/4561887 ) ، "يمكن استبدال subl بالمسار الكامل للتنفيذ ، لكن [الاسم المستعار subl] متاح عادة عندما [سامية] مثبتة بشكل صحيح. "

للنوافذ:

بالنسبة لنظام التشغيل Windows ، اقرأ أولاً إرشادات Linux الخاصة بمعلومات الخلفية. الآن سنفعل شيئًا متطابقًا تقريبًا.

(اختياري: إنشاء اسم مستعار subl للاستخدام في Git BASH):

افتح محررًا نصيًا (مثل: Notepad و Notepad ++ و Sublime Text و Geany ، إلخ) ، وقم بإنشاء ملف يسمى ".bash_profile" في الدليل الرئيسي. وبالتالي سيكون مسارها: C:\Users\MY_USER_NAME\.bash_profile. احفظ ما يلي فيه:

alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"

يؤدي هذا إلى إنشاء اسم مستعار Git BASH يسمى subl والذي يمكننا استخدامه الآن في Git BASH لـ Windows ، لفتح Sublime بسهولة. هذه الخطوة غير مطلوبة ولكنها مفيدة للاستخدام العام Git BASH. يمكنك الآن الاتصال بـ subl . ، على سبيل المثال ، في Git BASH لفتح مشروع Sublime جديد في الدليل الحالي.

(إلزامي):

قم بتحرير الملف .gitconfig الموجود في الدليل الرئيسي الخاص بك: C:\Users\MY_USER_NAME\.gitconfig ، عن طريق إضافة ما يلي إليه. لاحظ التغييرات الطفيفة من تعليمات Linux أعلاه:

[core]
  editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
  • لاحظ أنه يجب عليك تحديد المسار الكامل إلى نص Sublime القابل للتنفيذ. لاحظ اتجاه الخطوط المائلة! استخدم / NOT \ لفصل المجلدات في اسم المسار! (شكرا VonC لمساعدتي في رؤية هذا ).
  • لا يعمل الاسم المستعار subl الذي أنشأناه لـ Git BASH أعلاه ، لذلك لا يمكنك استخدامه كما فعلنا في مثال Linux ، بدلاً من ذلك يجب عليك تحديد المسار بالكامل كما هو موضح أعلاه.
  • ومع ذلك ، لا يزال رمز ~ يعمل هنا للوصول إلى دليل Windows Home.

2.5. (اختياري) قم بتثبيت حزمة "Git" في نص Sublime 3.

يمنحك هذا تمييز بناء الجملة لرسائل git commit ، بالإضافة إلى إمكانية الوصول إلى أوامر git الأخرى مثل git blame (التي أستخدمها بشكل متكرر في Sublime Text) أو git commit (التي لا أستخدمها في Sublime Text لأنني أفضل سطر الأوامر لتدفق بوابة العام ، كما ذكرت في تعليقاتي أدناه هذه الإجابة).

لتثبيت حزمة: أولاً ، تأكد من تثبيت "التحكم في الحزمة". بعد ذلك ، اضغط Ctrl + Shift + P (مثل أدوات → لوحة الأوامر) واكتب كل أو جزء من "التحكم في الحزمة: تثبيت الحزمة" ، ثم اضغط على Enter. في مربع البحث الذي يظهر ، ابحث عن الحزمة "Git" واضغط على Enter ، أو انقر عليها لتثبيتها تلقائيًا.

بمجرد التثبيت ، Ctrl + Shift + P بعد ذلك ، سيؤدي البحث عن "git" إلى إظهار أوامر git التي يمكنك استخدامها داخليًا داخل Sublime Text الآن ، مثل git blame.


3. استخدامه

الآن عندما تتصل بـ git commit ، على سبيل المثال ، كالمعتاد من سطر الأوامر ، سيتم فتح Sublime Text في .gitconfig.sublime-project الذي أنشأناه أعلاه ، مع إعدادات هذا المشروع! أثناء كتابة فقرة ، ستلاحظ أنها تمتد إلى ما بعد المسطرة التي قمنا بتعيينها منذ إيقاف تشغيل التفاف الكلمات اللين. لفرض التفاف ثابت عبر عوائد ثابتة يتم إدخالها تلقائيًا في نهاية كل سطر ، ضع المؤشر على السطر الطويل الذي تريد لفه تلقائيًا ثم اضغط Alt + Q. سيتم الآن الالتفاف/الثابت في 72 حرفًا ، وهو ما وضعناه في معلمة "مساطر" إعدادات المشروع أعلاه.

الآن ، احفظ رسالة الالتزام الخاصة بك مع Ctrl + S، والخروج (لإكمال git commit) بـ Ctrl + Shift + W.

فعله!

7
Gabriel Staples

يوفر هذا إجابة للأشخاص الذين يصلون إلى هذا السؤال والذين قد يرغبون في ربط محرر بخلاف vim.

من المحتمل أن يتم تحديث المورد المرتبط ، بواسطة Github ، محدثًا ، عند تحديث المحررين ، حتى إذا لم تكن الإجابات على SO (بما في ذلك هذا).

ربط محرري النصوص مع git

يُظهر منشور Github بالضبط ما تكتبه في سطر الأوامر الخاص بك للعديد من المحررين ، بما في ذلك الخيارات/العلامات الخاصة بكل محرر لكي يعمل بشكل أفضل مع git.

المفكرة ++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

النص السامي:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"

الذرة:
git config --global core.editor "atom --wait"

تفترض الأوامر أعلاه تثبيت المحرر في الدليل الافتراضي لجهاز windows.

تضيف الأوامر أساسًا النص بين علامات الاقتباس المزدوجة إلى .gitconfig في دليلك الرئيسي.
من المرجح أن يكون C:\Users\your-user-name home home windows ، حيث يكون اسم المستخدم هو اسم تسجيل الدخول الخاص بك.
من سطر الأوامر ، يمكنك الوصول إلى هذا الدليل عن طريق كتابة cd ~.

على سبيل المثال ، سيتم إضافة أمر أعلاه السطر التالي ضمن قسم [core] مثل:
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

إذا كان لديك محرر مختلف ، فاستبدل فقط المسار إلى المحرر الخاص بك ، باستخدام أي من الطرق المذكورة أعلاه. (ونأمل ألا تكون هناك حاجة إلى أعلام للاستخدام الأمثل.)

5
SherylHohman

Mvim كمحرر بوابة الخاص بك

مثل كل تطبيقات واجهة المستخدم الرسومية الأخرى ، يجب عليك تشغيل mvim بعلامة الانتظار.

git config --global core.editor "mvim --remote-wait"
3
Matteo Rolla

لمستخدمي Windows الذين يرغبون في استخدام neovim مع نظام Windows الفرعي لنظام Linux:

git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"

هذا هو لا حل مقاوم للخداع لأنه لا يتعامل مع إعادة التسعير التفاعلي (على سبيل المثال). التحسينات موضع ترحيب كبير!

2
brcolow

عند استخدام git-review ، اضطررت إلى تعديل قيمة sequence.editor حتى أتمكن من القيام rebase تفاعلي (git rebase -i -p):

git config --global sequence.editor "gvim"  # or whatever your prefer

gvim تتطلب: apt install vim-gtk

المراجع

1
Édouard Lopez

لمستخدمي TextWrangler من متجر تطبيقات Mac:

git config --global core.editor "open -n -W -a TextWrangler"

تأكد أيضًا من "TextWrangler> التفضيلات> التطبيق> عندما يصبح TextWrangler نشطًا:" تم تعيين الإعداد على "لا تفعل شيئًا"

هذا يناسبني على OS X 10.11.4 مع TextWrangler 5.0.2 من متجر تطبيقات Mac.

تفسير:

يعني -n فتح في مثيل جديد.

-W يعني الانتظار حتى يتم إنهاء التطبيق قبل استخدام محتويات الملف المحرر كرسالة التزام.

-a TextWrangler يعني استخدام التطبيق TextWrangler لفتح الملف.

راجع man open في تطبيق Mac Terminal الخاص بك لمزيد من التفاصيل.

1
DLRdave

مجرد محاولة EDITOR=vim git commit.

أو يمكنك ضبط محرّرك على vim بواسطة export EDITOR=vim في bashrc.

1
Xiao Hanyu