2016-05-29 6 views
3

Nachdem ich ein neues Github-Repository mit der Github-Website erstellt hatte, wollte ich mein vorhandenes Projekt in dieses Repository verschieben.Ignorieren bestimmter Dateien beim Verschieben eines vorhandenen Repos auf ein neues Github-Repository

aber ich will nicht große Dateien, deren Erweiterungen sind .mat schieben, .npy oder .csv.

Github schlägt vor, die folgenden zwei Befehle zum Schieben eines vorhandenen Repository über die Befehlszeile:

git remote add origin https://github.com/user/project_name.git 
git push -u origin master 

Aber es ist möglich, den Push-Befehl ignoriert bestimmte Dateien oder Erweiterungen zu haben?

Einrichten .gitignore schien nicht zu helfen, ich glaube, dass Dokument zum Ignorieren von Dateien beim Erstellen von Festlegungen, aber nicht für das erste Drücken der lokalen Repo auf die Online-Repo.

Danke!

+0

Haben Sie bereits ignorierte Dateien übernommen? Wenn dies der Fall ist, müssen Sie sie löschen und Ihre Änderungen bestätigen. Dann kannst du dein Projekt pushen. –

+0

Wenn Sie diese Dateien bereits festgeschrieben haben, sie aber nicht festgeschrieben bekommen möchten, lesen Sie den Artikel zu [Entfernen von Dateien, die in älteren Festschreibungen hinzugefügt wurden] (https://help.github.com/articles/removing-files-from- a-repository-s-history/# Entfernen einer Datei-hinzugefügt-in-einem-älteren-commit). Sie empfehlen ein Tool namens [BFG] (https://rtyley.github.io/bfg-repo-cleaner/), aber es ist wahrscheinlich möglich, es nur mit 'git filter-branch' zu machen (obwohl BFG einfacher sein könnte). – Pokechu22

Antwort

1

Sie können die großen Dateien mit dem Befehl filter-branch aus dem Verlauf Ihres lokalen Repositorys entfernen. Sehen Sie sich die Schritte im Abschnitt Filterfiliale dieser GitHub help page an.

Die Dateien werden in Ihrem lokalen Arbeitsbaum beibehalten, aber der Verlauf Ihres Repositorys wird neu geschrieben, was bedeutet, dass sich die Commit-IDs nach dem ersten Commit ändern, der solche Dateien hinzugefügt hat.

Um zu verhindern, dass diese Dateien versehentlich übertragen werden, empfehle ich, .gitignore entsprechend zu erstellen.

Verwandte Themen