¿Cómo soluciono una combinación de Git con conflictos en el archivo del punto de interrupción?
-
20-12-2019 - |
Pregunta
Tengo una aplicación para iPad (XCode 5, iOS 7, control de fuente Git y Storyboards).Tengo dos (2) ramas en las que estoy trabajando actualmente (1.8.1 en la App Store y 2.0.0 como copia de trabajo).
Hice un ligero cambio a 1.8.1 para la próxima versión y pensé que el control de fuente de XCode automáticamente unir los cambios a 2.0.0.Creo que estaba equivocado.Entonces intenté hacer la fusión usando el control de fuente de XCode, y ahí es donde las cosas fueron cuesta abajo...entró en un bucle.Entonces, eliminé XCode y lo reinicié.
Ahora, estoy intentando realizar la fusión utilizando SourceTree.Me dice que tengo un fusionar conflicto en mi copia de trabajo que es (2.0.0).Mirando una compilación de 2.0.0, veo esto:
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "saori/CalendarViewController.m"
timestampString = "404851038.443273"
<<<<<<< HEAD <---------------- merge conflict
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "205"
endingLineNumber = "205"
landmarkName = "-viewDidLoad"
=======
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "205"
endingLineNumber = "205"
landmarkName = "-viewDidLoad"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "saori/SubViewData.m"
timestampString = "406167919.038573"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "221"
endingLineNumber = "221"
landmarkName = "-drawRect:"
>>>>>>> 1.8.1
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
<<<<<<< HEAD <------- merge conflict
filePath = "saori/SubViewData.m"
timestampString = "406167919.038573"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "221"
endingLineNumber = "221"
landmarkName = "-drawRect:"
=======
ACTUALIZAR Cuando hago un estado de git, obtengo lo siguiente:
# On branch 2.0.0
# You have unmerged paths.
# (fix conflicts and run "git commit")
#
# Changes to be committed:
#
# new file: Resized Images/MainStoryboard.strings
# modified: saori/AppDelegate.h
# modified: saori/AppDelegate.m
#
# Unmerged paths:
# (use "git add <file>..." to mark resolution)
#
# both modified: SalonBook.xcodeproj/project.xcworkspace/xcuserdata/rolfmarsh.xcuserdatad/UserInterfaceState.xcuserstate
# both modified: SalonBook.xcodeproj/xcuserdata/rolfmarsh.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# Crashlytics.framework/Versions/Current
# SalonBook.xcodeproj/xcuserdata/rolfmarsh.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist.BACKUP.5744.xcbkptlist
# SalonBook.xcodeproj/xcuserdata/rolfmarsh.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist.BASE.5744.xcbkptlist
# SalonBook.xcodeproj/xcuserdata/rolfmarsh.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist.LOCAL.5744.xcbkptlist
# SalonBook.xcodeproj/xcuserdata/rolfmarsh.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist.REMOTE.5744.xcbkptlist
Mi pregunta es:¿Cómo soluciono esto para poder realizar la fusión?
Solución
Usar .gitignore
para excluir datos de puntos de interrupción de su proyecto (consulte ¿Qué archivos de proyecto Xcode puedo 'excluir' de mi repositorio de git?).
Luego deberá borrar todos los archivos incluidos en .gitignore
desde el índice de git (caché) usando git rm -r --cached
git rm -r --cached .
git add .
git commit -m 'Removed all files that are in the .gitignore'
git push
Otros consejos
para arreglar esto: (Mac)
-
Añadir archivo GITIGNORE:
- Abra la carpeta de su proyecto desde la terminal y presione $ touch .gitignore
- luego presione el comando: $ VI .gitignore
- Presione sobre la letra: i
- Agregar en cada fila El texto IGNORE, por ejemplo: Pushfor.xcworkspace / xcuserdata / tapaway.xcworkspace / xcuserdata / dang.xcuserdatad / usuariointerfacestate.xcuserstate tapaway.xcworkspace / xcuserdata / dang.xcuserdatad / xcdebugger / tapaway.xcworkspace / xcuserdata / Vainas / pods.xcodeproj / xcuserdata /
- Presione en el botón de escape en su teclado
- Pulse $: x (para guardarlo)
- Para verificar todo está bien en su terminal: $ CAT .gitignore
-
Ahora presione el comando: $ git st y vea que aún tiene archivos no acomodados a pesar de que simplemente los ponga en Gitignore, por lo que significa que lo empuja ya para arreglarlo para solucionarlo: -GIT --Cashed (y copiar los archivos aquí), por ejemplo: Git RM - Pods / pods.xcodeproj / xcuserdata / dang.xcuserdatad / xcschemes / xcschemanagement.plist
ahora cometiendo y empuje!