Articles of git

Wie behalte ich den Inhalt einer Datei in meinem lokalen und github-Repository?

Ich habe eine database.php. Ich möchte es in meinem Github-Repository ohne sensible Informationen aufbewahren. Zuerst schob ich ohne sensible Informationen in mein Repository. Jetzt habe ich meine databaseinformationen hinzugefügt, damit ich sie lokal verwenden kann. Ich habe zu .gitignore hinzugefügt. Und ich habe rm –cached database.php. Aber es löschte die database.php von meinem Github-Repository nach […]

Was ist die Heuristik von git zum Zuweisen von Inhaltsänderungen zu Dateipfaden?

Kurze Version: Warum finde ich keine vollständige Beschreibung der Heuristiken, die git verwendet, um Teile des Inhalts bestimmten bestimmten Pfadnamen zuzuordnen? Ausführliche Version: In der (Unix) -Shell-Demo-Interaktion unten werden zwei Dateien, a und b , ” git-commit committed”, dann werden sie so modifiziert, dass sie (den effektivsten) Inhalt an b und schließlich an beide übertragen […]

Die gettext.sh-Datei von Threadscope stört Git unter Windows

Wenn ich git-Befehle ausführe, bemerke ich, dass ich seltsame Nachrichten über ein völlig anderes Programm bekomme, nämlich threadscope, mit dem ich Informationen über meine parallelen Haskell-Programme erhalte. git stash ‘: not a valid identifier/threadscope-0.2.2/bin/gettext.sh: line 90: export: `dashless ‘: not a valid identifier/threadscope-0.2.2/bin/gettext.sh: line 90: export: `USAGE ‘: not a valid identifier/threadscope-0.2.2/bin/gettext.sh: line 90: export: […]

Git Pre-Empfangs-Haken

Wenn Sie den pre-receive-Hook für das Git-Repository aktivieren: Es werden keine Argumente benötigt, aber für jeden zu aktualisierenden Verweis erhält er bei der Standardeingabe eine Zeile des Formats: SP SP LF ist der alte Objektname, der in ref gespeichert ist, ist der neue Objektname, der im ref gespeichert werden soll, und ist der vollständige Name […]

Wie entferne ich einen dangling commit von GitHub?

Gestern habe ich zu meiner Gabel von ConnectBot auf GitHub gedrängt. Ich drückte einmal auf, erkannte, dass ich die Änderung nicht so gemacht hatte, wie ich wollte, änderte das Commit und drückte erneut. Jetzt hat GitHub beide Commits: https://github.com/nylen/connectbot/commit/1cd775d – das erste, “bad” commit https://github.com/nylen/connectbot/commit/987671c – die, die ich behalten möchte Mein Master-Zweig verfolgt nur […]

git fetch, FETCH_HEAD und Ursprung / Master

Ich bin sehr neu in Git und ich habe Probleme mit einem einfachen fetch . Ich versuche, den Fortschritt eines Kollegen aus seinem Repository zu holen. Zuerst habe ich git fetch HEAD heruntergeladen, was Git aufgefordert hat, etwa 350 MB Daten herunterzuladen, so dass ich sicher war, dass es etwas getan hat. origin/master endete jedoch […]

Git-Checkout im Post-Receive-Hook: “Not a git repository ‘.”

Ich habe ein nicht-bare-Repository auf meinem Server (dirs / home / andrew / web und /home/andrew/web/.git), receiver.denyCurrentBranch zum Ignorieren gesetzt und post-receive-Hook erstellt: #!/bin/sh GIT_WORK_TREE=/home/andrew/web git checkout -f Wenn ich sh .git / hooks / post-receive starte, funktioniert alles einwandfrei. Aber wenn ich von meinem PC schiebe bekomme ich diesen Fehler: remote: fatal: Not a […]

Wie verfolgt Git die Historie während eines Refactorings?

Ich verstehe gut, wie Git Dateibewegungen unterstützen kann: da es Datei-Hash verwendet, wird eine “hinzugefügte” Datei leicht als die “entfernte” Datei erkannt. Meine Frage betrifft das Refactoring: Wenn man Java berücksichtigt, ändert sich die Paketdeklaration, so dass der Inhalt der Datei nicht identisch ist. Wie bestimmt Git in diesem Fall, dass die “hinzugefügte” Datei den […]

Git Push über HTTP aktiviert Remote Hooks nicht

Auf meiner Remote-Box habe ich ein nacktes Git-Repository initialisiert. Im Hooks-Verzeichnis habe ich die Post-Receive-, Post-Update- und Update-Hooks mit dem folgenden Skript initialisiert: #!/bin/bash echo $0 $@ >> /tmp/githooks.log Auf meiner lokalen Box habe ich das Repository geklont, eine Testdatei hinzugefügt, es festgeschrieben und die Änderung zurück auf die Remote-Box übertragen. $ git clone https://remote/git/sandbox.git […]

Git Reset vs Git Reset HEAD

Jedes Mal, wenn eine Datei bereitgestellt wurde, bietet Git hilfreiche statementen für den Fall, dass Sie eine Datei auflösen möchten: (use “git reset HEAD …” to unstage) Aber die anständigen Git Tutorials von Atlassian sagen einfach: git reset Das scheint einfacher, warum also der Unterschied?