Red de conocimiento informático - Material del sitio web - Cómo usar svn en un entorno MAC y a qué deben prestar atención los principiantes cuando usan svn en un equipo

Cómo usar svn en un entorno MAC y a qué deben prestar atención los principiantes cuando usan svn en un equipo

1. Apple tiene su propio software SVN en Xcode4------gt; Organizador------repositorios

2. , ¿eliminar el archivo local afectará al servidor?

No afectará al servidor. Cuando ejecute "svn update", se descargará automáticamente nuevamente cuando lo elimine y luego ejecute "svn commit". , se descargará nuevamente y también se eliminará en el servidor.

3. Conéctese al servidor

Haga clic en archivo-》repositorios-》Haga clic en “ ”-> nombre y dirección del servidor svn, escriba, seleccione subversion y luego siguiente, etc.

4. En Xcode4, los comandos de uso común en SVN

Confirmar envío

checkout descargan el servidor al local (la computadora que estoy usando)

actualizar archivo de actualización

Archivo-------gt; SourceController-------gt; actualizar

El tercer botón en la imagen es Ver botón de comparación.

5. Explicación detallada del uso y precauciones en SVN

①Envíe su propio código

El principio de actualización de SVN es actualizar y enviar a tiempo. . Cuando una pequeña función esté completa y pueda compilarla y probarla usted mismo, envíela lo antes posible. Esto también guardará la versión histórica y la revertirá si es necesario antes de comenzar el trabajo del día, y brindará la actualización final al proyecto.

② Mantenga el envío atómico (no modifique ni envíe archivos de otras personas sin darse cuenta)

Envíe solo la parte que modificó, es mejor no enviar todo el proyecto a la vez <; /p >

Cuando se completa una función o un archivo, es mejor enviarlo. Me encontré con que después de completar una determinada función, no se envió y luego se realizaron cambios. Como resultado, aparecieron errores en el código y el código no se pudo restaurar a la normalidad.

③No envíe archivos generados automáticamente

VisualStudio y otras herramientas de desarrollo generarán muchos archivos automáticos durante el proceso de generación, como .suo y otros archivos de configuración, Debug, Release, Obj y otros archivos compilados y otros archivos generados automáticamente que no tienen nada que ver con el código compilado. Estos archivos no deben registrarse al enviarlos. Si se registran accidentalmente, deben eliminarse del almacén.

④No envíe código que no se pueda compilar.

Antes de enviar el código, primero debe confirmar que puede compilarlo localmente. Al enviar actualizaciones a SVN, es mejor si el código ha pasado sus propias pruebas antes del envío.

Explicación detallada de los comandos comunes en SVN

1. Extraiga el archivo en el directorio local

ruta de pago de svn (la ruta es el directorio en el servidor) <. /p>

Por ejemplo: svn checkout svn://192.168.1.1/pro/domain

2. Agregar nuevos archivos al repositorio

svn add file

Por ejemplo: svn add test.php (agregar test.php)

3. Eliminar archivos

svn eliminar ruta -m “eliminar archivo de prueba”

Por ejemplo: svn eliminar svn://192.168.1.1/pro/domain/test.php -m “eliminar archivo de prueba”

4. Ver el registro

svn log ruta

5. Compara las diferencias

ruta svn diff (compara el archivo modificado con la versión base)

6. Fusiona las diferencias entre las dos versiones. el archivo actual

svn merge -r m: n path

Cómo usar SVN

Actualizar (actualizar), no hay nada de malo en actualizar con frecuencia, especialmente en proyectos multipersonales. Si no actualiza a la última versión antes de cada confirmación, svn le indicará que la copia actual ha caducado y debe actualizarse.

Al enviar, asegúrese de escribir un resumen del contenido enviado para poder consultarlo fácilmente más adelante.

Obtenga el archivo en el directorio local

ruta de pago svn (la ruta es el directorio en el servidor)

El comando svn update reemplaza automáticamente la versión local con la versión en el servidor Archivos controlados

6. Problemas al usar SVN en Xcode y enviar conflictos para resolver

La función SVN de Xcode sigue siendo muy inferior a subclipse en Eclipse o tortoiseSVN en Windows. .

Simplemente no lo uso y uso la línea de comando directamente. Veo que algunos amigos usan subclipse, lo cual en realidad es bastante bueno. Sin embargo, para usar la función SVN, debes abrir un Eclipse separado que consume recursos.

Sin embargo, no importa qué herramienta SVN se utilice, encontrará un problema inherente a Xcode, a saber, el conflicto de envío del archivo project.pbxproj.

El archivo project.pbxproj contiene todos los archivos necesarios para el proceso de compilación. Si agrega un nuevo archivo al directorio del proyecto, por ejemplo, sin pasar Xcode, el archivo no estará en project.pbxproj. El archivo se generará en la aplicación. De la misma manera, si actualiza archivos agregados por otros miembros del proyecto desde SVN sin actualizar el archivo project.pbxproj (o el miembro no envía el archivo en absoluto), ocurrirá el mismo fenómeno.

Si un miembro del proyecto envía un nuevo archivo project.pbxproj y usted no ha agregado un nuevo archivo al proyecto, puede usar svn update.

7. El archivo del proyecto no se puede abrir después de actualizar el código en Xcode.

Si elige actualizar todo el proyecto, a menudo se producen conflictos, especialmente el archivo project.pbxproj.

Este archivo contiene todos los archivos necesarios para el proceso de compilación. Si se agrega un nuevo archivo al directorio del proyecto pero no pasa Xcode,

El archivo no estará en el archivo project.pbxproj y no estará. generado en el medio de la aplicación. De la misma manera, si actualiza archivos agregados por otros miembros del proyecto desde SVN sin actualizar el archivo project.pbxproj (o el miembro no envía este archivo), también ocurrirá el mismo fenómeno. Este conflicto de archivos hará que el archivo del proyecto no se pueda abrir directamente.

Solución al problema de que el archivo del proyecto no se puede abrir después de actualizar el código:

Cuando el archivo del proyecto, como tabaco.xcodeproj, no se puede abrir, puede hacer clic derecho y seleccionar 'Mostrar contenido del paquete' y verá tres archivos, project.pbxproj/user.modelv3/user.pbxuser.

Hay tres versiones de project.pbxproj. Puede resolver conflictos como los conflictos de archivos svn normales.

8. Diferencias entre la confirmación y la fusión de actualización SVN

Cuando el archivo local no ha cambiado y el archivo del servidor cambia, la actualización recuperará el archivo del servidor y sobrescribirá el archivo actual.

Cuando se ha cambiado el archivo local pero no se ha cambiado el archivo del servidor, este archivo no se actualizará

Cuando se ha cambiado el archivo local y se ha modificado el archivo del servidor cambiado, si las partes modificadas no entran en conflicto, el archivo se fusionará con el archivo local. Si hay un conflicto, se le solicitará un conflicto de archivo y deberá modificarlo manualmente y cargarlo en el servidor.

El último explica la fusión:

El mismo archivo en el servidor y localmente (el llamado mismo archivo debe ser el archivo con la misma ruta relativa en SVN y el mismo archivo El nombre lo deja SVN localmente (decisión de información) y las partes modificadas no se superponen ni se superponen.

Cuando se cumplen las condiciones anteriores y luego se actualizan, SVN se fusionará automáticamente.

El secreto de SVN El problema es que si alguien más envía el archivo modificado y usted lo envía nuevamente, no le permitirán enviarlo. . .

gt; gt; gt;

lt; lt;

Por qué todavía falta ¿Área de conflicto? No se puede enviar

Solución 1:

Eliminarlo aún no resuelve el conflicto. Habrá varios archivos con el mismo nombre pero con diferentes sufijos después del archivo.

Si no sabe cómo usar SVN para resolver conflictos, la forma más sencilla es la siguiente

Cambie el nombre del archivo y luego actualícelo en el directorio donde se encuentra. descargue el archivo del servidor y luego descárguelo. Agregue la parte modificada al archivo actualizado para que pueda enviarse

Solución 2:

Haga clic derecho en el archivo y vaya al archivo. Menú SVN. Debería haber un botón de edición de conflicto, aparecerá una ventana cuando lo seleccione, con la versión del servidor en un lado y su versión modificada en el otro.

9. Uso del svn que viene con xcode

1. Si hay una marca "M" después de un determinado archivo en el código, significa que el archivo ha sido modificado y necesita ser confirmado

(haga clic derecho en el archivo -gt; control de fuente -gt; confirmar el archivo seleccionado...)

2. un determinado archivo en el código, lo que indica que el archivo se agregó recientemente y ha sido administrado por SVN y debe confirmarse

(haga clic derecho en el archivo -gt; control de fuente -gt; confirmar. archivo seleccionado...)

3. Hay "?" después de un determinado archivo en el código", lo que indica que el archivo se agregó recientemente y está fuera de la administración de SVN. luego confirme

(haga clic con el botón derecho en el archivo -gt; control de fuente -gt; Agregar, para que el archivo La marca cambie a "A" y luego confirme).