Git - Як закрити редактор комісій?


209

Я новачок в git та навчанні з PDF. Я щойно виконав команду, $ git commitі вона відкриває новий редактор. Але я намагаюся закрити цей новий редактор комісій. Як це зробити? Я використовую git на windows.


не повна відповідь, але один із способів уникнути редактора - це скористатися параметром "-m". Наприклад, після $ git додайте <your_changes>, потім зробіть $ git commit -m "мої зміни; я уникаю редактора!"
Quetzalcoatl

Відповіді:


242

Збережіть файл у редакторі. Якщо це Emacs: CTRLX CTRLSзберегти, CTRLX CTRLCщоб вийти, або якщо це vi::wq

Натисніть escспочатку, щоб вийти з редагування. (у windows / vi)


3
Користувачеві потрібно закрити редактор на додаток до збереження файлу, тому для Emacs це насправді Ctrl-X Ctrl-C.
user4815162342

1
Оновлено ... Я це знав, але, як і більшість команд emacs, вони настільки вбудовані в мене, що я забуваю, якими вони є ... Я просто їх виконую.
tpg2114

Якщо ви використовуєте emacsclient, ви можете закрити йогоC-x #
azzamsa

1
дякую, на Windows bash незрозуміло, що ви повинні 1: exit and 2: save the changes
Juan Monsalve

Це режим вставки, який я можу відключити на своїй машині Windows?
Рез.Нет

200

Були і проблеми. У Linux я використовував Ctrl+ XYдля підтвердження), а потім знову на оболонці готовий тягнути / натискати.

У Windows GIT Bash Ctrl + Xнічого не зробить і з'ясував, що він працює як vi / vim. Натисніть, iщоб увійти в режим вбудованого вставки. Введіть опис в самому верху, натисніть escдля виходу з режиму вставки, потім введіть :x!(тепер курсор знаходиться внизу) і натисніть, enterщоб зберегти та вийти.

Якщо набрати :q!натомість, вийде з редактора без збереження (і фіксація буде перервано)


18
це відповідь для мене для windows
lode

1
esc: x! - Це не просто нерозкриття, як якщо б хтось грав у хованки з функціональністю.
Трістан

45

Після написання повідомлення про фіксацію просто натисніть клавішу Esc, а потім напишіть : wq або : wq! і натисніть Enter, щоб закрити файл Unix.


6
це рішення - це те, що працює над Git Gui bash для вікна
ocrampico

! Це нагадало мені дні університету, коли ми робили деякі редагування Unix vi, після довгого написання деяких :wqкоманд
Ірф

:x- це ярлик для :wqVim.
rnevius

19

Ще краще, налаштуйте редактор на те, що вам подобається (gedit як приклад):

git config --global core.editor "gedit"

Ви можете прочитати поточну конфігурацію так:

git config core.editor

Ви також можете додати повідомлення про фіксацію з командного рядка.

git commit -m "blablabla"

і редактор відкриється не в першу чергу.


7

Після git commitкоманди ви перейшли до редактора, тому спочатку натисніть, iа потім почніть вводити текст. Після скоєння ваше повідомлення вдарив Ctrl + cпотім:wq


4

Альтернативи Nano (можуть полегшити ваше життя):

У Windows використовуйте блокнот. У командному рядку введіть:

git config core.editor notepad

У Ubuntu / Linux використовуйте текстовий редактор (gedit). У вікні терміналу:

git config core.editor gedit


1

Як альтернатива "зберегти і вийти", ви можете використовувати функцію git-commit git-commit-commit, за замовчуванням пов'язану з C-c C-c. Це збереже файл і закриє його. Після цього вам залишається закрити emacs C-x C-c, як згадувалося раніше. На даний момент я намагаюся дізнатися, як змусити Emacs вийти автоматично.


1

У мене була ця проблема, я отримав підказку типу ">", і я не зміг зробити це. Я замінюю "у коментарі на", і воно працює.

Я сподіваюся, що це комусь допоможе!


Ага! Я також зациклювався на цьому ">" підказці. Прочитавши ваш коментар, я зрозумів, що оскільки я використав апостроф у скороченні у своєму коментарі, термінал чекав на мене, щоб закрити цитату! Нарешті я вільний!
Кевін Шарнхорст

0

Не впевнений, що комбінація клавіш приводить вас до підказок>, але я не знаю, що це башти. Я зазвичай отримую це випадково. Ctrl + C (або D) повертає мене до рядка $.



0

У Mac 1. Натисніть shift + Z shift + Z (величина Z двічі).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.