Подтвердить что ты не робот

Как добавить человека и zip к установке "git bash" в Windows

Я использую "git bash" для Windows - git для Windows с помощью встроенного bash. По-видимому, он использует поддержку MINGW/MSYS. (Обновление от @VonC: теперь использует msys2, поскольку msysgit устарел с Q4 2015.)

Итак, уже установлено множество инструментов MSYS - от awk до zcat. Однако я пропустил команду man и zip, чтобы сжать несколько файлов в zip файл (unzip exists!).

Откуда я могу их установить? Я не хочу устанавливать другую копию системы MINGW! Любой способ просто добавить некоторые предварительно скомпилированные инструменты в установку git bash?

4b9b3361

Ответ 1

Команда zip может быть установлена ​​из GoW (Gnu On Windows). man не предоставляется (слишком большой).

Следует отметить, что если вы хотите добавить команду zip из GoW, все же необходимо загрузить и установить всю систему GoW. Затем вы можете удалить другие команды из каталога bin, однако обязательно сохраните нужные DLL в каталоге.

Ответ 2

Я так рад поделиться своим опытом по этому вопросу, которого я не знал уже два года с первого дня, когда я играл с Groovy. Мой метод должен иметь git для Windows, установленной в ОС Windows.

Эти шаги предназначены для установки утилиты командной строки 7z, которая немного отличается от zip:

  • Загрузите и установите 7-Zip с официального сайта. По умолчанию он установлен в каталоге /c/Program Files/7-Zip в Windows 10, как в моем случае.
  • Запустите git Bash с правами администратора и перейдите в каталог /c/Program Files/Git/mingw64/bin, вы можете запустить команду ln -s "/c/Program Files/7-Zip/7z.exe" 7z.exe

Я уверен, что это может вам очень помочь. Доверьтесь мне!

Ответ 3

Добавить 7-zip в gitbash легко.

  1. Установите 7-zip на Windows.
  2. добавить 7-Zip папку (C:\Program Files\7-Zip) в PATH
    В gitbash exp: export PATH=$PATH:"C:\Program Files\7-Zip" (временный)
    В Windows добавьте PATH как изображение ниже (постоянный)

enter image description here

  1. дубликат копии 7z.exe для zip.exe
  2. снова открыть Гитбаш. сделано!

Если вы пропустите шаг 3. вы все равно можете вызвать команду zip как 7z вместо zip

Я только что заставил это работать! на моем ноутбуке.

Вывод: Gitbash работает на базе Windows Path, я думаю, что вы можете запустить любую команду, которую вы добавили в Windows PATH.
Кстати, не забудьте оставить отзыв о своем результате, если попробуете это.

Ответ 4

git-archive, подготовлен без установки, может создать zip-архив.

mkdir workrepo
cd workrepo
git init
cp -r [target_file_or_dir] .
git add .
git commit -m commit
git archive -o ../myarchive.zip @
cd ..
rm -rf workrepo

Следующий скрипт может быть использован: zip.sh foo.zip target_file_or_dir

#!/usr/bin/bash

set -eu

unset workdir
onexit() {
  if [ -n ${workdir-} ]; then
    rm -rf "$workdir"
  fi
}
trap onexit EXIT

workdir=$(mktemp --tmpdir -d gitzip.XXXXXX)


cp -r "$2" "$workdir"

pushd "$workdir"
git init
git add .
git commit -m "commit for zip"
popd

git archive --format=zip -o "$1" --remote="$workdir" HEAD

Ответ 5

Вы можете имитировать небольшое подмножество поведения человека в оболочке, сопоставляя man <command> с <command> --help | less

К сожалению, на моей машине bash aliases не будут добавлять флаги в позиционные аргументы, она попытается запустить флаг как команду и не сработает (alias man="$1 --help" не работает).

И функция, называемая man(), не допускается!

К счастью, комбинация функций bash и псевдонимов может достичь этого соответствия. Поместите код ниже в ~/.bashrc(создайте его, если его там нет). Не забывайте source ~/.bashrc.

# man command workaround: alias can't pass flags, but can't name function man
m() {
    "$1" --help | less
}
alias man="m"

Это не дает вам полную страницу man, но если все, что вы ищете, это базовая информация о команде и ее флагах, это может быть все, что вам нужно.

Ответ 6

Вы можете установить отдельные инструменты GNU из http://gnuwin32.sourceforge.net/packages.html, например, zip.

Затем добавьте "/c/Program Files (x86)/GnuWin32/bin" в PATH в вашем скрипте запуска, например .profile, .bash_profile, .bashrc и т.д.

Ответ 7

Вот еще один, немного другой, набор инструкций по установке zip для git bash на windows:

  1. Перейдите по адресу https://sourceforge.net/projects/gnuwin32/files/zip/3.0/.
  2. Загрузить zip-3.0-bin.zip
  3. В zip файле в папке bin найдите файл zip.exe.
  4. Извлеките файл "zip.exe" в папку bin "mingw64" (для меня: C:\Program Files\Git\mingw64\bin)
  5. Перейдите по адресу https://sourceforge.net/projects/gnuwin32/files/bzip2/1.0.5/.
  6. Скачать bzip2-1.0.5-bin.zip
  7. В архивном файле в папке bin найдите файл bzip2.dll
  8. Извлеките bzip2.dll в папку "mingw64" (та же папка - C:\Program Files\Git\mingw64\bin)

Ответ 8

Вот шаги, которые вы можете выполнить.

  1. Перейдите по следующей ссылке https://sourceforge.net/projects/gnuwin32/files/

  2. Узнайте, какую команду вы пропустили. Здесь мне нужны zip и bzip2 для команды zip. Потому что для запуска команды zip используется bzip2.dll. В противном случае вы получите ошибку "ошибка при загрузке общих библиотек:?: Невозможно открыть файл общего объекта: нет такого файла или каталога".

  3. Разархивируйте загруженные файлы. Здесь я загружаю "zip-3.0-bin.zip" для "zip.exe" и "bzip2-1.0.5-bin.zip" для "bzip2.dll" в папке bin. /bin/.exe

  4. Скопируйте исполняемый файл команды в папку git-bash. Здесь я копирую "zip.exe" и "bzip2.dll" в \Git\usr\bin.

Ссылка Ссылка https://ranxing.wordpress.com/2016/12/13/add-zip-into-git-bash-on-windows/

Ответ 9

Что касается zip, вы можете использовать следующий perl скрипт для упаковки файлов:

#!/usr/bin/perl
use IO::Compress::Zip qw(:all);
$z = shift;
zip [ @ARGV ] => $z or die "Cannot create zip file: $ZipError\n";

Если вы сделаете его исполняемым, назовите его zip и поместите в свой $PATH, вы можете запустить его так:

zip archive.zip files...

однако это не будет работать для каталогов. Не нужно ничего устанавливать, так как perl и все необходимые модули уже есть в Git для установки Windows.

Что касается man, по крайней мере для git есть документация, которая вызывается так:

git option --help

он откроется в вашем браузере по умолчанию.

Ответ 10

Если вы также хотите установить CygWin, вы можете добавить путь CygWin к вашему пути GitBash, и если zip там, он будет работать. например добавить

PATH=$PATH:/c/cygwin/bin
export PATH

на ваш .bashrc; ПРИМЕЧАНИЕ: я бы поставил его в конце пути, как показано, а не в начале.

Поскольку CygWin имеет установщик на основе пользовательского интерфейса, легко добавлять или удалять приложения, такие как zip или man.

Вы можете выяснить пути окон каждого, сказав

'cygpath -w /bin'

в каждой соответствующей оболочке.