Como faço para corrigir uma mesclagem do Git com conflitos no arquivo do ponto de interrupção?
-
20-12-2019 - |
Pergunta
Eu tenho um aplicativo para iPad (XCode 5, iOS 7, controle de origem Git e Storyboards).Tenho duas (2) filiais nas quais estou trabalhando atualmente (1.8.1 na App Store e 2.0.0 como cópia de trabalho).
Fiz uma pequena alteração no 1.8.1 para a próxima versão e pensei que o controle de origem do XCode seria automaticamente mesclar as mudanças para 2.0.0.Acho que estava errado.Então tentei fazer a mesclagem usando o controle de origem do XCode, e foi aí que as coisas pioraram ...entrou em loop.Então, matei o XCode e reiniciei.
Agora, estou tentando fazer a mesclagem usando SourceTree.Isso me diz que tenho um mesclar conflito na minha cópia de trabalho que é (2.0.0).Olhando para uma versão 2.0.0, vejo o seguinte:
<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:"
=======
ATUALIZAR Quando faço um git status, recebo o seguinte:
# 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
Minha pergunta é:como faço para corrigir isso para poder fazer a mesclagem?
Solução
Usar .gitignore
para excluir dados de pontos de interrupção do seu projeto (consulte Quais arquivos de projeto Xcode posso 'excluir' do meu repositório git?).
Você precisará então limpar todos os arquivos incluídos em .gitignore
do índice git (cache) usando git rm -r --cached
git rm -r --cached .
git add .
git commit -m 'Removed all files that are in the .gitignore'
git push
Outras dicas
para consertar isso :(mac)
adicione o arquivo gitignore:
- abra a pasta do seu projeto no terminal e pressione $ touch .gitignore
- em seguida, pressione o comando:$vi.gitignore
- pressione a carta:eu
- adicione em cada linha o texto ignorar, por exemplo:Pushfor.xcworkspace/xcuserdata/taplaway.xcworkspace/xcuserdata/dang.xcuserdatad/userinterfacestate.xcuserstate tapaway.xcworkspace/xcuserdata/DanCuserdatad/xcdebugger/xcUway.xcworkssspsspsspsspsspsspsspsspssplacentes/xcdebugger/TawAway.CUAWSPACECWAWSPWORK.XCUSTRACTAB.CDEBGGER/TAPAWAWET. CUSERDATA/
- pressione o botão Escape no seu teclado
- pressione $ :x (para salvá-lo)
- para verificar se está tudo bem no seu terminal:$ gato.gitignore
agora pressione o comando:$ git st e veja se você ainda tem arquivos não rastreados, apesar de tê-los colocado no gitignore, o que significa que você já os enviou para o git para corrigi-los:-git --cashed (e copie os arquivos aqui), por exemplo:git rm --cached Pods/Pods.xcodeproj/xcuserdata/dang.xcuserdatad/xcschemes/xcschememanagement.plist
agora comprometa-se e empurre!