Frage

Es klingt für mich wie zentralisierte Modell der Subversion funktioniert besser für die Entwicklung Web-Anwendung, in der Sie ein Team von Ingenieuren haben zur Zeit auf der gleichen Code-Basis arbeitet und veröffentlicht regelmäßig.

Auf der anderen Seite Gits verteiltes Modell ist für eine iPhone App attraktiv, weil 1) I dont‘eine Verbindung benötigen Sie das Repository 2) zu sehen, es ist viel schneller 3) Entwicklung geteilt wird, aber nicht so oft.

Sorry, wenn ich meine eigene Frage beantwortet und ich meine nicht eine Debatte rühren, können Sie einzelne Zeilen Antworten zu geben.

War es hilfreich?

Lösung

Auf jeden Fall git. iPhone-Programmierung und git: Ich habe zwei neue Dinge in diesem Jahr gelernt. Während iPhone-Programmierung hasse ich mein Leben gemacht hat, hat git die Art und Weise verbessert Ich entwickle Software. Die schmerzlose Verzweigung hat dazu geführt, dass ich kann, macht einen Zweig für alles , ohne den Rest der Welt zu erzählen, und wenn Ich bin ganz zufrieden mit ihm kann ich es verschmelzen wieder in unsere wunderbar stabil Master / Stamm.

Es ist toll, es gibt keinen Druck, etwas zu veröffentlichen, die nicht bereit ist, und zu sehen, wie Sie vor Ort einchecken können, ist es einfacher, kleine, nützliche Commits zu formen.

Ich bin noch unschlüssig auf der iPhone Sache.

Andere Tipps

Ich würde Abstimmung für je nachdem, welche Sie in Ihrem Shop konfiguriert war.

Eine Sache, die Sie über verteilte vs. erkennen sollte zentralisiert VCS ist, dass eine verteilte man alles ein zentralisiertes kann man tun kann. Mit git Sie eine einzige öffentliche Repository haben kann, die maßgebliche Version des Codes, in einer beliebigen Anzahl von Möglichkeiten verwaltet werden - zum Beispiel, wenn alle Entwickler schieben kann, erhält sie alles über eine zentralisierte VCS wollen, es sei denn, all die zusätzlichen Vorteile von git und keine der Unzulänglichkeiten von CVS / SVN.

Während Xcode SVN Integration hat, finde ich es eine extrem schlechte Umsetzung. Sie können check out (sorry für das Wortspiel) die ausgezeichneten Versionen wenn Sie eine Alternative möchten.

Having said that, ich bin im Grunde ein Ein-Mann-Shop (obwohl ich zwei Maschinen) und ich finde git viel schöner zu bedienen zu sein.

Ich bin ein Ein-Mann-Shop, wenn es um iPhone-Entwicklung kommt, und ich verwende Mercurial (das ist sehr, sehr ähnlich git). Mein Entscheidend war einfach, dass ich eine verteilte Quelle-Management-System.

verwenden lernen wollte

Der primäre Unterschied, ob man ein Ein-Mann-Shop ist, ist, dass Code Branching und Merging ist viel einfacher, in git / Mercurial. Ein kleiner Unterschied besteht darin, dass SVN-Repositories viel mehr Speicherplatz beanspruchen (aber auf einem iPhone-Projekt, das ist nicht sehr wahrscheinlich ein großes Problem sein). Other than that, sind Sie nicht wahrscheinlich, dass viel Unterschied bemerken.

Hier sind meine allgemeinen Hinweise zur Quellcodeverwaltung. Subversion ist mit Abstand mein Lieblingswerkzeug, und die, die ich habe die meiste Erfahrung mit. Das heißt, das erste, was ich auf jedem Arbeitsplatz zu tun ist herunterzuladen und installieren SVK, die Ihnen getrennt Zugriff auf Subversion-Repositories gibt (da ich überwiegend aus einem Laptop arbeiten, manchmal in einem Park oder meinen Hinterhof ohne WiFi-Zugang).

Subversion + SVK gibt Ihnen die meisten Vorteile von git oder Mercurial oder Basar (obwohl ich diese ebenfalls am Auswertung). Ich denke, dass die zukünftige Entwicklung von Subversion wird SVK / git / Hg neue Funktionen hinzuzufügen, die DVCS Fall verwenden zu unterstützen.

Also ich würde raten, nicht git bereitstellen, wenn Sie bereits Subversion verwenden und stattdessen SVK greifen und damit durchkommen, dass los (plus es ist ziemlich ausgereift, es ist schon seit ein paar Jahren). Nachteil ist es (geschrieben in Perl) manchmal etwas langsam sein kann.

Herunterladen SVK

Svn Unterstützung in Xcode gebaut. Sie können manuell einen neuen Client installieren.

Wenn es niemand zwingt Sie SVN zu verwenden, dann sollten Sie vielleicht git verwenden, da git mit SVN zusammenarbeiten können (was bedeutet, technisch gesehen, könnte man git verwenden, während die Menschen, die Sie mit der Verwendung SVN arbeiten, das ist wahrscheinlich zu viel Probleme though).

Wie bei XCode Integration, hat git keine, aber es ist nicht zu hart git zum Laufen zu bringen, einige Tastenanschläge in XCode verwenden. Ich schrieb ein paar Skripte, die es für die am häufigsten verwendeten Befehle git tun und legte sie in Benutzerskripten. Hier sind zwei Beispiele:

git initialisieren

#!/bin/sh
# 
# This script initializes a git repository and adds all the elements 
# of the project directory to the repository


# Set the basic variables of the script.
project_directory=`osascript << APPLESCRIPT
tell application "Xcode"
    set mypath to the project directory of project 1
    set mypath to the POSIX path of mypath as string
end tell
APPLESCRIPT`  

cd $project_directory

# create the git project configuration files
cat << EOF > .gitignore
.gitignore
.DS_Store
.gitattributes
build/*
EOF

cat << EOF > .gitattributes
*.pbxproj -crlf -diff -merge
EOF 

/usr/local/bin/git init
/usr/local/bin/git add *

git add

#!/bin/sh
# 
# This script does a git adds a file of the user's choosing
# to the git repository.


# Set the basic variables of the script.
project_directory=`osascript << APPLESCRIPT
tell application "Xcode"
    set mypath to the project directory of project 1
    set mypath to the POSIX path of mypath as string
end tell
APPLESCRIPT`  

files_to_add=`%%%{PBXUtilityScriptsPath}%%%/AskUserForExistingFileDialog "Add files"`

cd $project_directory

/usr/local/bin/git add $files_to_add

Sie können ein Muster sehen hier, dass Sie schnell erlauben wird, die anderen aufzuschreiben. Im Inneren des „User-Skripte“ Dialog können Sie Tastenfolgen auf die Befehle zuweisen. Ich finde, dass in den täglichen Gebrauch muss ich selten an die Befehlszeile gehen git zu verwenden.

Ich kann nicht wirklich gibt Ihnen eine klare Antwort, weil ich nicht CVS oder Subversion für einige Zeit verwendet habe - aber ich habe Git Projekte mit anderem iPhone-Entwickler verwendet, und es funktioniert ganz gut.

Die einzige mögliche Gefahr ist, dass manchmal muss man Konflikte in dem XCode-Projekt verschmelzen beheben, wenn mehr als eine Person neue Dateien hinzugefügt -. Aber ich würde denken, SVN ähnliche Probleme haben würde

Wenn Sie git tun verwenden, github.com funktioniert sehr gut als ein Repository - und sie haben eine große Menge von Dokumentation auf dem Mac mit Git arbeiten (Sie nur, dass ein Teil der Website besuchen könnten eingerichtet zu bekommen).

Wie aktualisieren Sie das SVN-Client in XCode? Ich habe dies in der Vergangenheit getan 1,4-1,5 zu gehen, aber es war mühsam, schwierig, nicht dokumentiert, und glitchy. Ich habe da versucht, meinen Hack wieder heraus (was meinen Apache-Server brach) und jetzt kann ich es nicht benutzen. Dies ist nach dem neuesten XCode Upgrade, die angeblich 1,5 nativ unterstützen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top