2017-02-22 1 views
-1

Ich mache eine Migration von SVN zu GIT für eines meiner Projekte. Einer der Ort Ich habe die unten Liner-Code für den SVN aktualisierenGIT Commit-Befehle entsprechen SVN-Befehlen

svn commit --no-auth-cache --message "commit test" --file test.properties --force-log --username XXXX --password XXXXX 

So wollte nur überprüfen, was der Befehl äquivalent GIT ist, die ich verwenden soll. Bis jetzt habe ich bis zum unten Teil bekommen habe

git commit -m "commit test" --file test.properties 

So wie kann ich Befehl des Benutzername/Passwort-Tag in der GIT verpflichten hängen, so dass es das gleiche für die Authentifizierung verwenden kann, während die Repo-Zugriff.

Dank -Sam

+0

ein in Git zu machen begehen und den Zugriff auf den Repo sind zwei verschiedene Vorgänge. Fragen Sie darüber, wie Sie Ihre Anmeldeinformationen zwischenspeichern können, wenn Sie mit dem Repo kommunizieren? –

+2

Sie können nicht: Die Art eines Git-Commits unterscheidet sich von der Natur eines SVN-Commits. Ein SVN-Commit muss ein zentrales Repository auf einem Server kontaktieren, um eine Berechtigung und eine Revisionsnummer zu erhalten. Git ist in der Natur verteilt; Möglicherweise gibt es kein zentrales Repository, und das Commit erfolgt lokal ohne einen zentralen Server. – torek

+0

Einverstanden .. Also korrigieren Sie mich, wenn ich falsch liege .. Also meine Abfrage ist dann, wenn wir ein Commit durch git auch der Inhalt wird in einigen Repo und wenn ich ein git commit für die Durchführung einiger Updates tun möchte ich brauche um einen Authentifizierungsprozess zu durchlaufen, den ich über die IDs ausführen kann. Ich wollte nur wissen, wie ich dasselbe erreichen kann. – Sam

Antwort

0

Sie müssen keine Anmeldeinformationen bereitstellen eine in Git verpflichten zu erstellen. Fragen Sie, wie Sie die Identität, mit der das Commit erstellt wird, inline einbinden können? Dann können Sie git -c user.name="John Doe" -c [email protected] commit ... verwenden. Wenn Sie fragen, wie Sie das Commit in ein zentrales Repository übernehmen können, müssen Sie nach dem Commit auch einen Push ausführen.

1

Also meine Frage ist dann, wenn wir in einigen Repo eine Festschreibung durch git auch der Inhalt

Die commit befinden wird im Repo auf der Maschine befinden, in dem Sie das Commit erstellt. In SVN ist commit ein Verb, das Ihre Änderungen im Subversion-Repository speichert, das sich normalerweise auf einem anderen Computer befindet. In Git commit ist ein Verb, aber es ist auch ein Substantiv - ein Commit ist eine bestimmte Reihe von Änderungen, die Sie erstellen, die zusammen angewendet werden. Wenn Sie den Befehl git commit verwenden, erstellen Sie ein Commit im lokalen Repo. Sie können dann git push verwenden, um die von Ihnen erstellten Commits (oder Commits) an ein anderes Repo zu senden, z. B. eines, das Sie mit dem Rest Ihres Teams teilen.

Also wie kann ich den Benutzernamen/Passwort-Tag in den GIT-Commit-Befehl, so dass es die gleichen für die Authentifizierung beim Zugriff auf den Repo verwenden können.

Dies scheint wie das Herz Ihrer Frage. Sie können die Benutzer und das Kennwort in der URL für den Repo, wenn Sie drücken, wie:

git push https://user:[email protected]/reponame.git 

wo user der Benutzername ist, password ist das entsprechende Kennwort ein, und der Rest ist nur der Hostname und Pfad zum Repository du drückst nach. Und wieder, git funktioniert anders, also ist das Erstellen des Commits und das Verschieben in den Shared Repo zwei separate Schritte.

Beachten Sie auch, dass die Option --file nicht das tut, was Sie glauben, dass es funktioniert; In git gibt --file nicht die Datei an, die dem Repo hinzugefügt werden soll, sondern bewirkt vielmehr, dass die Commit-Nachricht aus einer Datei gelesen wird.

es um alle zusammen, nachdem test.properties-Datei ändern, Sie so etwas wie tun würde:

git add test.properties 
git commit -m "commit test" 
git push https://user:[email protected]/reponame.git 
+1

sehr gut erklärt .. @Caleb – Sam