Ich habe kürzlich meine entdeckt .gitconfig
wurden diese paar zusätzlichen Zeilen angehängt:
[filter "hawser"]
clean = git hawser clean %f
smudge = git hawser smudge %f
required = true
Da es versioniert ist, bin ich sicher, dass ich sie nicht hinzugefügt habe. Anscheinend bin ich es nicht das nur eine, die diese Zeilen hat.
Jedoch: git: 'hawser' is not a git command
. git help
gibt keine zusätzlichen Informationen.
Was ist also dieser „Trommel“-Filter?
Ich fand die Veränderung in meinem .gitconfig
fiel genau mit einem Update auf github für Mac zusammen, weshalb ich es in meinem Repo als solches gekennzeichnet habe.
Was Hawser eigentlich ist, Github für Mac hat es auf der gebündelt /Applications/GitHub.app/Contents/Resources/hawser/bin/git-hawser
Weg.
Ausführen der ausführbaren Datei mit --help=false
Erträge:
git-hawser/0.4.0 (GitHub; darwin amd64; git 2.3.0; go 1.3)
Usage:
git-hawser [flags]
git-hawser [command]
Available Commands:
add Add an entry to .gitattributes
clean Implements the Git clean filter
env Show the current environment
init Initialize the default Git Media configuration
logs View error logs
ls-files Show information about hawser files
path Manipulate .gitattributes
push Push files to the hawser endpoint
rm Remove an entry from .gitattributes
remove Remove an entry from .gitattributes
smudge Implements the Git smudge filter
status Show information about hawser files that would be pushed
update Update local hawser configuration
version Show the version number
help [command] Help about any command
Available Flags:
--help=false: help for git-hawser
Use "git-hawser help [command]" for more information about that command.
Betrieb strings
bei einigen ausführbaren Dateien in GitHub.app taucht die Zeichenfolge git-media|hawser auf, die zusätzlich zur Verwendungsmeldung deutlich anzeigt, dass git-hawser ein Fork oder eine Neuimplementierung von git-media ist, die verwendet wird, um große Dateien außerhalb des Git-Repos zu speichern, wie github hat eine feste Dateigrößenbeschränkung von 100 MB. Ich teste jetzt, um zu sehen, was passiert, wenn Sie versuchen, eine riesige Datei über GitHub.app hochzuladen.
Es stellt sich heraus, dass GitHub.app beim Umgang mit großen Dateien nicht automatisch git-hawser verwendet, sondern strings
zeigt, dass es die Fähigkeit hat, mit einem Git-Hawser-Prozess zu interagieren.
Durch die Installation der Befehlszeilentools wird die github
Werkzeug und git-hawser
zu /usr/local/bin
. Betrieb git-hawser version -c
gibt:
git-hawser/0.4.0 (GitHub; darwin amd64; git 2.3.3; go 1.3)
Nothing may see Gah Lak Tus and survive!
Das scheint verwandt zu sein: https://github.com/blog/1986-announcing-git-large-file-storage-lfs
Und siehe da, Trossenfilter wurden als lfs dupliziert (Large-File-Support):
[filter "lfs"]
clean = git lfs clean %f
smudge = git lfs smudge %f
required = true
Hawser ist ein alter Name für Git LFS (und git-media ist der noch ältere Name), also glaube ich, dass das fallen gelassen werden kann.
Das zu googeln ist wirklich schwierig, aber ich habe endlich den Commit gefunden, der das Projekt von hawser in lfs umbenennt (https://github.com/github/git-lfs/commit/e37b69547710e2a341bc7904d291029ac594b3be) und ein anderer erwähnt das Alte git-media
Name (https://github.com/github/git-lfs/commit/eac36d7f04074882a7e3c9ad2cfc1d4f4a7b08fd).
Von diesen Blöcken in ~/.gitconfig sollte das Entfernen der Blöcke „media“ und „hawser“ also sicher sein, insbesondere wenn Sie git-lfs installiert haben. Mit anderen Worten, aus diesen Konfigurationsblöcken:
[filter "media"]
required = true
clean = git media clean %f
smudge = git media smudge %f
[filter "hawser"]
clean = git hawser clean %f
smudge = git hawser smudge %f
required = true
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
required = true
du kannst gehen
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
required = true
Dies scheint eine Folge der Installation von GitHub für Mac zu sein. Das ist zumindest die Information, die ich aus der Lektüre bekommen habe diese Commit-Nachricht.
Kürzlich habe ich das gleiche Problem gehabt und ich gehe durch die Seite
https://git-lfs.github.com/?utm_source=github_site&utm_medium=blog&utm_campaign=gitlfs
Die folgenden Schritte können Ihr Problem lösen, wenn Sie ein Windows-Benutzer sind.
- Laden Sie die exe für Windows herunter
- Es installieren
- ‚git lfs install‘ führt diesen Code im Git-Befehl aus.
Versuchen Sie nun, die Änderungen zu pushen.