Команда открыть файл с помощью git

  • У меня есть возвышенный текст в качестве редактора по умолчанию в Git (и это работает)
  • git config --edit открывает файл конфигурации в возвышенном тексте (Awesome)

Мой вопрос:

Какую команду открыть, скажем, index.html или style.css из каталога проекта?

В основном, когда я работаю над проектом, я хотел бы иметь возможность открывать файл из git. Как это сделать Кажется, что каждый урок посвящен слиянию, клонированию, фиксации, да, мы все это знаем, как выполнять эту простую команду. Или это не возможно изнутри мерзавца?

  • Windows 7
  • msysgit версия 1.8.0

Я понимаю, что Git не запускается и строго для контроля версий. Просто хочу узнать, какие варианты у меня есть с инструментами под рукой.

Вопрос возник, когда я коммитил проект, и понял, что мне нужно сделать небольшое редактирование файла CSS, который я уже закрыл и интересовался, могу ли я открыть, чтобы редактировать файл из git, так как он у меня был.

Кажется, это невозможно (не конец света). Мне просто нравится понимать все мои варианты с инструментами, которые я использую, все

Ответы

Ответ 1

Git не имеет никакого отношения к тому, как вы открываете/редактируете файлы в своем проекте. Настройка редактора в git заключается только в том, что git внутренние вещи, требующие редактора (например, сообщения фиксации), могут использовать ваш предпочтительный редактор.

Если вы просто хотите открыть файлы из командной строки (cmd.exe), как если бы их дважды щелкнул в проводнике Windows, я думаю, вы можете использовать start <filename>.

Ответ 2

Я смог сделать это, используя следующую команду:

notepad .gitignore

И он откроет файл .gitignore в Блокноте.

Ответ 3

Я нашел обходной путь для этого по этой ссылке. В двух словах, вы должны:

  1. Создайте файл с именем subl (или любое имя, которое вы хотите, чтобы команда вызывала Sublime Text) без расширения
  2. Поместите эту команду в файл выше (замените путь для исполняемого файла, если необходимо):

    #!/bin/sh
    "C:\Program Files\Sublime Text 2\sublime_text.exe" $1 &
    
  3. Поместите этот файл subl в соответствующий каталог команд в соответствии с вашей ОС и версией Sublime Text (если у вас есть сомнения, проверьте раздел комментариев выше по ссылке). В моем случае я использую Sublime Text 3 с Windows 10 64bit, поэтому я поместил его в:

    C:\Program Files (x86)\Git\usr\bin
    
  4. Теперь, чтобы открыть нужный файл, используйте git bash (в папке с файлами).

    subl filename
    

Ответ 4

Brenton Alker выше сказанного "начать" работает - я добавлю к этому предостережение: это работает для всех файлов, которые уже связаны с возвышенным текстом (как он говорит, он работает так, как если бы они были дважды нажаты в окнах проводник).

Но если, например, вы хотели открыть файл .gitignore из вашей оболочки в sublime_text, а .gitignore не связан с sublime_text, вот что я сделал:

Я редактировал переменную среды PATH, чтобы содержать папку Sublime Text в файлах программ, которая содержит файл sublime_text.exe. Теперь, в моем терминале (я использую powershell, но он работает с любого терминала), когда я набираю 'sublime_text .gitignore', из моего текущего каталога открывается в Sublime!

.gitignore

Я попытался создать файл .bat с именем sublime.bat, который работал бы так, чтобы я мог просто набрать sublime .gitignore, но это не сработало - по какой-то причине он открыл возвышенный текст, но не файл. Я доволен sublime_text (завершение табуляции упрощает его для меня, на самом деле - просто "su [tab]" делает трюк!

Ответ 5

Просто используйте команду vi + filename.

Пример:

vi stylesheet.css

Это откроет редактор vi с содержимым файла.

Чтобы начать редактирование, нажмите I

Ответ 6

пока вы работаете в каком-либо проекте и хотите внести незначительные изменения, вы можете использовать редактор git по умолчанию, однако вам, вероятно, понадобится немного script, которые проанализируют файл, созданный командой ниже

git config -l

тогда переменная code.editor имеет значение /Applications/Sublime_Text.app -n -w

который вы можете открыть с помощью os.system()

Ответ 7

Я только что загрузил Git 2.7.0 и добавил псевдоним для .bashrc для редактирования файлов с помощью VS Code:

alias code='/c/Program\ Files\ \(x86\)/Microsoft\ VS\ Code/bin/code.cmd'

Должен также работать с другими редакторами...

Ответ 8

Я использовал Atom, чтобы открывать файлы, это работает для меня

atom index.html

Надеюсь, это поможет.

Ответ 9

Чтобы открыть файл в Sublime Text,

Вот пример для открытия образца текстового файла в редакторе Sublime Text

subl <filename>.txt

Ранее subl создавался как псевдоним, содержащий файл каталога, с помощью команды "echo" в оболочке Git Bash.

Ответ 10

Я знаю, что это древнее, но мне нужно сделать это в конце скрипта git helper (псевдоним, который создает псевдонимы из шаблона), и нашел то, что я считаю реальным ответом:

Есть помощник по фарфора, называемый git-sh-setup который при получении дает вам функцию git_editor которая

запускает редактор выбора пользователя (GIT_EDITOR, core.editor, VISUAL или EDITOR) для данного файла, но выдает ошибку, если редактор не указан и терминал не работает.

git-sh-setup документация описание в основном говорит вам, не использовать его, и что, вероятно, хороший совет в этом случае.

К счастью, git-sh-setup является сценарием оболочки, и git_editor часть git_editor довольно мала, и мы можем просто скопировать это:

git_editor() {
    if test -z "${GIT_EDITOR:+set}"
    then
        GIT_EDITOR="$(git var GIT_EDITOR)" || return $?
    fi
    eval "$GIT_EDITOR" '"[email protected]"'
}

Вы должны быть в состоянии вставить это в свои собственные сценарии или превратить его в псевдоним bash, а затем назвать его как git_editor file1.txt file2.txt...

Ответ 11

Предполагая, что вы находитесь в корневой папке хранилища

alias notepad="/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe"

затем вы можете открыть любой файл с помощью Notepad++ с помощью:

notepad readme.md

Ответ 12

Вы можете использовать командную строку git в качестве терминала. Мой чувак, которого вы просто знаете, это команды bash Чтобы создать файл

touch file.txt

Чтобы открыть файл

code file.py 
atom file.py
start file.py

ЭСТ

Чтобы открыть текущую папку и все ее содержимое в текстовом редакторе

code . 

Сделать папку

mkdir folder1 folder2 folder3 

Вы можете сделать столько, сколько хотите сразу, это работает с прикосновением к

Ответ 13

Вы можете создать псевдоним, чтобы открыть файл в редакторе по умолчанию, добавив следующую строку в ваш файл .gitconfig:

edit = "!f() { $(git config core.editor) -- [email protected]; }; f"

Затем git edit foo.txt откроет файл foo.txt для редактирования.

Гораздо проще открыть .gitconfig с помощью git config --global --edit и вставить строку, а не выяснять, как экранировать все символы для ввода псевдонима непосредственно из командной строки с помощью git config alias.edit "..."

Как это устроено

  • ! запускает команду bash, а не внутреннюю команду git
  • f() {...}; запускает функцию
  • $(git config core.editor) получит имя вашего редактора из локальной конфигурации или из глобальной, если локальная не задана. К сожалению, он не будет искать в $VISUAL или $EDITOR это, если ничего не установлено.
  • -- отделяет команду редактора со списком файлов. Это работает для большинства редакторов командной строки, поэтому безопаснее их вставлять. Если пропущено, а core.editor не установлен, то возможно, что исполняемый файл выполняется вместо редактирования. С этим здесь, команда просто потерпит неудачу.
  • [email protected] добавит файлы, введенные в командной строке.
  • f выполнит функцию после того, как она будет определена.

Случай использования

Другие ответы выражают сомнение относительно того, почему вы хотите этого. Мой вариант использования заключается в том, что я хочу редактировать файлы как часть других функций git, которые я создаю, и я хочу редактировать их в том же редакторе, который настроил пользователь. Например, следующее является одним из моих псевдонимов:

reedit = "!f() { $(git config core.editor) -- $(git diff --name-only $1); }; f"

Затем git reedit откроет все файлы, которые я уже начал изменять, а git reedit --cached откроет все подготовленные файлы.

Ответ 14

Может быть, было бы полезно открыть редактор из общего сценария в репозитории git, не предполагая, какой редактор может иметь кто-либо, который будет использовать этот сценарий, но только то, что у него есть git.

Здесь вы можете проверить, установлен ли редактор в git config, а также открыть файлы, не связанные с этим редактором:

alias editor="$(git config core.editor)"
if [ "$(alias editor | sed -r "s/.*='(.*)'/\1/")" != "" ]; then
    editor <filename>
else
    start <filename>
fi

Прекрасно работает с моим .gitconfig на окнах:

[core]
    editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin

Ответ 15

Чтобы открыть файл в git, в windows вы наберете explorer ., обратите внимание на расстояние между проводником и точкой. На Mac вы можете открыть его с помощью open ., а в Linux с nautilus ., обратите внимание на точку в конце каждого.