Я недавно переключился от subclipse до оппозиционера. После обновления нашего репозитория от v1.4.x до 1,5, мы начали иметь много проблем с subclipse.
После выполнения синхронизации, Вы видели бы обновления, которые Вы только что приняли, и Вы не будете в состоянии взять другие обновления, не делая "взломов"
До сих пор подрывной, довольно хорошо. это даже кажется немного быстрее для большого количества маленьких файлов, чем subclipse был.
Обновление 2010-2011:
zumalifeguard решение (одобрено) проще, чем исходное, так как ему больше не нужен сценарий оболочки.
Как я объясняю в " Как я могу настроить редактор для работы с Git в Windows? ", Я предпочитаю оболочку, так как проще попробовать переключить редакторы или изменить путь к одному редактору без необходимо зарегистрировать указанное изменение в git config
снова .
Но это только я.
Дополнительная информация : следующее решение работает с Cygwin , а решение zuamlifeguard - нет.
Исходный ответ.
Следующее:
C:\prog\git>git config --global core.editor C:/prog/git/npp.sh
C:/prog/git/npp.sh:
#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"
работает. Эти команды интерпретируются как сценарий оболочки, отсюда и идея обернуть любой набор команд Windows в сценарий sh
.
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$(cygpath -w "$*")"
Несколько строк для удобства чтения:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar \
-nosession -noPlugin "$(cygpath -w "$*")"
С "$ (cygpath -w" $ * ")"
, являющимся важной частью здесь.
Вал прокомментировал (а затем удалено), что вам не следует использовать параметр -notabbar
:
Нет смысла отключать вкладку во время перестановки, но это сильно ухудшает общее удобство использования Блокнота, поскольку
-notab
становится настройкой по умолчанию, и вы должныНастройки> Настройки> Общие> Панель вкладок> Скрыть> снимать флажок
каждый раз, когда вы запускаете блокнот после перезагрузки. Это ад. Вы рекомендовали ад.
Так что используйте скорее:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
То есть:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
-noPlugin "$(cygpath -w "$*")"
Если вы хотите поместить сценарий ' npp.sh
' в путь с пробелами (как в
Вал прокомментировал (а затем удалил), что вам не следует использовать параметр -notabbar
:
Отключение вкладки во время перебазирования бесполезно, но делает много вред для общего удобства использования Блокнота, так как
-notab
становится настройкой по умолчанию, и вы должныНастройки> Настройки> Общие> TabBar> Скрыть> снимать флажок
каждый раз, когда вы запускаете Блокнот после перезагрузки. Это ад. Вы рекомендовали ад.
Так что лучше используйте:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
То есть:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
-noPlugin "$(cygpath -w "$*")"
Если вы хотите поместить сценарий ' npp.sh
' в путь с пробелами (как в
Вал прокомментировал (а затем удалил), что вам не следует использовать параметр -notabbar
:
Отключение вкладки во время перебазирования бесполезно, но делает много вред для общего удобства использования Блокнота, так как
-notab
становится настройкой по умолчанию, и вы должныНастройки> Настройки> Общие> TabBar> Скрыть> снимать флажок
каждый раз, когда вы запускаете Блокнот после перезагрузки. Это ад. Вы рекомендовали ад.
Так что лучше используйте:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
То есть:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
-noPlugin "$(cygpath -w "$*")"
Если вы хотите поместить сценарий ' npp.sh
' в путь с пробелами (как в но наносит большой вред общему удобству использования Блокнота, так как -notab
становится настройкой по умолчанию, и вы должны Настройки> Настройки> Общие> TabBar> Скрыть> снимать флажок
каждый раз, когда вы запускаете блокнот после перезагрузки . Это ад. Вы рекомендовали ад.
Так что лучше используйте:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
То есть:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
-noPlugin "$(cygpath -w "$*")"
Если вы хотите поместить сценарий ' npp.sh
' в путь с пробелами (как в но наносит большой вред общему удобству использования Блокнота, так как -notab
становится настройкой по умолчанию, и вы должны Настройки> Настройки> Общие> TabBar> Скрыть> снимать флажок
каждый раз, когда вы запускаете блокнот после перезагрузки . Это ад. Вы рекомендовали ад.
Так что используйте скорее:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
То есть:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
-noPlugin "$(cygpath -w "$*")"
Если вы хотите поместить сценарий ' npp.sh
' в путь с пробелами (как в
' c: \ program files \ ...
',), у вас есть три варианта:
Либо попробуйте указать путь в кавычки (одинарные или двойные кавычки), как в:
git config - -global core.editor 'C: / program files / git / npp.sh'
или попробуйте использовать сокращенное имя (без защиты от ошибок):
git config --global core.editor C: /progra~1/git/npp.sh
или (мое любимое) место ' npp.sh
' в части каталога вашей переменной среды % PATH%
. Тогда вам не нужно будет указывать какой-либо путь для сценария.
git config --global core.editor npp.sh
Steiny сообщает в комментариях , что необходимо сделать:
git config --global core.editor '"C: / Program Files (x86) /Git/scripts/npp.sh "'
У меня это работает
git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Или, для 64-битной Windows и 32-битной установки Notepad++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Или, следующее можно ввести в командной строке 32-битной или 64-битной Windows. Это извлечет расположение notepad++.exe из реестра и настроит git на его автоматическое использование:
FOR /F "usebackq tokens=2*" %A IN (`REG QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" /ve`) DO git config --global core.editor "'%B' -multiInst -notabbar -nosession -noPlugin"
Если вы хотите разместить вышеуказанное из файла .BAT или .CMD, вы должны заменить %A на %%A и %B на %%B