webentwicklung-frage-antwort-db.com.de

Wie man man und Zip zur "git bash" Installation unter Windows hinzufügt

Ich benutze "git bash" unter Windows - das ist git für Windows über die integrierte bash. Anscheinend verwendet es die MINGW/MSYS-Unterlegung. (Update von @VonC: Es verwendet jetzt verwendet msys2 , da msysgit veraltet ist seit dem vierten Quartal 2015.)

Daher sind bereits viele MSYS-Tools installiert - von awk bis zcat. Ich vermisse jedoch den Befehl man und Zip, um mehrere Dateien in eine Zip-Datei zu komprimieren (unzip existiert!). 

Woher kann ich sie installieren? Ich möchte keine weitere Kopie des MINGW-Systems installieren! Gibt es eine Möglichkeit, der git bash-Installation einige vorkompilierte Tools hinzuzufügen?

22
halloleo

Der Befehl Zip kann von GoW (Gnu On Windows) installiert werden. man wird nicht bereitgestellt (zu groß).

Es ist jedoch zu beachten, dass, wenn Sie only den Befehl Zip von GoW hinzufügen möchten, das gesamte GoW-System noch heruntergeladen und installiert werden muss. Dann können Sie die anderen Befehle aus dem Verzeichnis bin löschen. Stellen Sie jedoch sicher, dass die erforderlichen DLLs im Verzeichnis verbleiben.

16
VonC

git-archive , wird ohne Installation vorbereitet, kann ein Zip-Archiv erstellen.

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

Das folgende Skript kann verwendet werden: 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
6
yukihane

Ich bin so froh, meine Erfahrungen zu diesem Thema teilen zu können, die ich seit meinem ersten Tag mit Groovy seit zwei Jahren nicht mehr kenne. Für meine Methode muss git für Windows unter Windows installiert sein.

Die Schritte, die ich behoben habe, konnten verfolgt werden:

  • Laden und installieren Sie 7z-Zip von der offiziellen Website . Standardmäßig wird es unter Windows 10 wie in meinem Fall unter dem Verzeichnis /c/Program Files/7-Zip installiert.
  • Führen Sie git Bash unter Administratorberechtigung aus und navigieren Sie zum Verzeichnis /c/Program Files/Git/mingw64/bin. Sie können den Befehl ln -s /c/Program Files/7-Zip/7z.exe Zip.exe ausführen.
  • Folgen Sie dann den Anweisungen auf der Website sdkman (falls Sie versuchen, sdk in Windows zu installieren, denke ich. Ignorieren Sie diesen Schritt ansonsten).

Ich bin mir ziemlich sicher, dass es Ihnen sehr helfen kann. Vertrau mir!

5
Tung

Sie können eine kleine Teilmenge des Man-Verhaltens in der Shell nachahmen, indem Sie man <command> zu <command> --help | less zuordnen.

Leider fügen bash-Aliase auf meinem Rechner keine Flags zu Positionsargumenten hinzu. Sie versuchen, das Flag als Befehl auszuführen und schlagen fehl (alias man="$1 --help" funktioniert nicht).

Eine Funktion namens man() ist nicht erlaubt!

Glücklicherweise kann eine Kombination aus Bash-Funktionen und Aliasnamen diese Zuordnung erzielen. Fügen Sie den folgenden Code in Ihre ~/.bashrc ein (erstellen Sie einen Code, falls er nicht vorhanden ist). Vergessen Sie nicht, source ~/.bashrc.

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

Sie erhalten nicht die vollständige Manpage, aber wenn Sie nur grundlegende Informationen zu einem Befehl und seinen Flags suchen, ist dies möglicherweise alles, was Sie brauchen.

4
Dylan Kirkby

Hier ist eine weitere, leicht abweichende Anleitung zum Installieren von Zip for git bash unter Windows:

  1. Navigieren Sie zu https://sourceforge.net/projects/gnuwin32/files/Zip/3.0/
  2. Herunterladen Zip-3.0-bin.Zip
  3. Suchen Sie in der komprimierten Datei im Ordner bin die Datei Zip.exe.
  4. Extrahieren Sie die Datei "Zip.exe" in den Ordner "mingw64" (für mich: C:\Program Files\Git\mingw64\bin)
  5. Navigieren Sie zu https://sourceforge.net/projects/gnuwin32/files/bzip2/1.0.5/
  6. Herunterladen bzip2-1.0.5-bin.Zip
  7. Suchen Sie in der komprimierten Datei im Ordner bin die Datei bzip2.dll
  8. Extrakt bzip2.dll in deinen "mingw64" bin Ordner (gleicher Ordner - C:\Program Files\Git\mingw64\bin)
2
NSjonas

Sie können einzelne GNU - Tools unter http://gnuwin32.sourceforge.net/packages.html installieren, z. B. Zip.

Fügen Sie dann "/c/Program Files (x86)/GnuWin32/bin" zu PATH in Ihrem Startskript hinzu, wie .profile, .bash_profile, .bashrc usw.

2
wisbucky

Das Hinzufügen von 7-Zip zu Gitbash ist einfach.

  1. Installieren Sie 7-Zip unter Windows.
  2. 7-Zip-Ordner zu PATH hinzufügen exp: C:\Programme\7-Zip
  3. kopieren Sie eine Kopie von 7z.exe als Zip.exe
  4. Öffne wieder gitbash.done!

Ich habe es gerade zum Laufen gebracht! Auf meinem Laptop.

Fazit: Gitbash basiert auf Windows Path. Ich denke, Sie können jeden Befehl ausführen, den Sie Ihrem Windows-Pfad hinzugefügt haben. 
Vergessen Sie nicht, Ihr Ergebnis zu überprüfen, wenn Sie dies versuchen.

1
nokieng

Hier sind die Schritte, die Sie befolgen können.

  1. Gehen Sie zu folgendem Link https://sourceforge.net/projects/gnuwin32/files/

  2. Finden Sie heraus, welcher Befehl Ihnen fehltHier brauche ich Zip und bzip2 für den Zip-Befehl. Weil der Zip-Befehl von bzip2.dll ausgeführt wird. Andernfalls wird die Fehlermeldung "Fehler beim Laden von gemeinsam genutzten Bibliotheken:?: Gemeinsame Objektdatei kann nicht geöffnet werden: Keine solche Datei oder Verzeichnis" angezeigt.

  3. Entpacke die heruntergeladenen DateienHier lade ich "Zip-3.0-bin.Zip" für "Zip.exe" und "bzip2-1.0.5-bin.Zip" für "bzip2.dll" im Ordner bin herunter. /bin/.exe

  4. Kopieren Sie den Befehl exe-Datei in den Ordner git-bash Hier kopiere ich "Zip.exe" und "bzip2.dll" nach\Git\usr\bin.

Referenzlink https://ranxing.wordpress.com/2016/12/13/add-Zip-into-git-bash-on-windows/

0
sagekoda

In Bezug auf Zip können Sie das folgende Perl-Skript zum Packen von Dateien verwenden:

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

Wenn Sie es ausführbar machen, nennen Sie es Zip und geben Sie es in Ihren $PATH ein. Sie können es folgendermaßen ausführen:

Zip archive.Zipfiles...

es funktioniert jedoch nicht für Verzeichnisse. Es ist keine Installation erforderlich, da Perl und alle erforderlichen Module bereits in der Installation von Git for Windows vorhanden sind.

In Bezug auf man gibt es zumindest für git eine Dokumentation, die wie folgt aufgerufen wird:

git option --help

es wird in Ihrem Standardbrowser geöffnet.

0
mik

Wenn Sie CygWin auch installieren möchten, können Sie den Pfad zu CygWin zu Ihrem GitBash-Pfad hinzufügen. Wenn Zip vorhanden ist, funktioniert es. z.B. hinzufügen 

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

zu Ihrem .bashrc; HINWEIS: Ich würde es am Ende des Pfades wie gezeigt anbringen, nicht am Anfang.

Da CygWin über ein UI-basiertes Installationsprogramm verfügt, ist es einfach, Anwendungen wie Zip oder Man hinzuzufügen oder zu entfernen.

Sie können die Fensterpfade von jedem herausfinden, indem Sie sagen 

`cygpath -w /bin`

in jeder jeweiligen Shell. 

0