2017-12-20 6 views
0

Ich bin neu bei Github und ich entwickle eine App, die eine config.php-Datei haben, die Sie die Datenbank-Anmeldeinformationen eingeben müssen.Git Ignoriere Dateien beim Ziehen

In meiner GitHub-Repository ist die Datei wie folgt:

<?php 
$host_name = "<HOST>"; 
$database = "<DATABASE>"; 
$user_name = "<USER>"; 
$password = "<PASSWORD>"; 
?> 

Aber in der Website habe ich die Datei mit den Anmeldeinformationen:

<?php 
$host_name = "myhost"; 
$database = "mydatabase"; 
$user_name = "myuser"; 
$password = "mypassword"; 
?> 

In der .gitignore Datei habe ich die Datei, die ich möchte nicht zu meinem github repository pushen, wenn ich mich entwickle, aber was ich jetzt tun will, ist dateien zu ignorieren, wenn ich ziehe.

Ich möchte meine Website von meinem Githubb-Repository aktualisieren, aber ich möchte die Datei config.php ignorieren, da dies bei jeder Installation eindeutig sein muss.

Wie kann ich es tun? Sorry für die Noob Frage :(

Grüße.

+1

Mögliches Duplikat von [Wie konfiguriere ich git, um einige Dateien lokal zu ignorieren?] (Https://stackoverflow.com/questions/1753070/how-do-i-configure-git-to-ignore-some-files- lokal) –

+2

Setzen Sie 'config.php' nicht in das Repository. Erstellen Sie eine Vorlage für die Datei (verwenden Sie einen anderen Namen dafür) und legen Sie die Vorlage im Repo ab. Fügen Sie "config.php" zu ".gitignore" hinzu. – axiac

+0

Ich mag diese Option, wie WordPress mit der Datei wp-config-sample.php. Was ich versuche zu erreichen ist, alle meine Installationen einfach mit Github zu aktualisieren. Diese Repositories werden sich nicht festlegen. Ist nur eine Ignorierung nur für Pull-Befehle. – Roke

Antwort

1

.gitignore ist für untracked Dateien zu ignorieren, aber Sie müssen Änderungen in der nachgeführte ignorieren. Sie git update-index --skip-worktree /path/to/config.php

nutzen könnten Siehe https://git-scm.com/docs/git-update-index#_skip_worktree_bit

+0

Aber dies wird in allen Klon-Repositories ignoriert, ich möchte diese Datei das erste Mal herunterladen und dann im Klon-Repository die Ignorier-Option konfigurieren. Das Problem ist, dass, wenn ich diese Datei nicht das erste Mal herunterladen werde ich nicht daran erinnern, zu konfigurieren :) – Roke

+0

Dies ignoriert die Änderung nur in dem Repository, in dem Sie den Befehl ausführen.Sie können diese Änderung nicht auf den zentralen Repo übertragen, sodass andere Klone nicht betroffen sind. So haben Sie die config.php mit Vorlage Daten in der zentralen Repo, und bearbeiten Sie es in jedem Klon, wie Sie brauchen, markieren Sie mit --skip-worktree –

+0

OK, jetzt verstehe ich. Entschuldige meinen Fehler – Roke

1

Um das Verfolgen einer Datei zu stoppen, müssen Sie sie aus dem Index entfernen: Dies kann mit diesem Befehl erreicht werden:

git rm --cached <file>

begehen, die Änderung

git commit -am "Remove ignored config.php"

1

Dmitriy Smirnov mir eine Lösung geben, aber für meine ist einfacher die Lösung, die axiac Kommentar.

Vielen Dank für Ihre Hilfe.

Jetzt habe ich eine Vorlage der Datei config.php mit config-sample.php wie WordPress make in der Installation. Wenn ich also die Dateien aktualisieren will, wird die Datei config.php, die die Daten der Datenbank enthält, nicht überschrieben.

Schreiben Sie die config-sample.php erinnern Sie sich, dass ich die config.php-Datei schreiben muss und mir eine Vorlage von dem, was ich tun muss, um die Installation zu beenden.

Grüße.

Verwandte Themen