2012-02-13 20 views
8

No estoy seguro de cómo llegué a este estado, pero mi rama master en mi repositorio git-svn local parece estar apuntando a la rama UAT remota.Repetir git-svn rama maestra volver al tronco

git status 
# On branch master nothing to commit (working directory clean) 
git svn dcommit Committing to https://svn...com/MyRepo/branches/UAT ... 

¿Cómo puedo reparar esto?

+0

Se Ayudaría a saber exactamente lo que estás tratando de "arreglar". No hay nada de malo en tener la rama principal local basada en una rama remota; de hecho, así es como normalmente manejo mi repositorio. –

Respuesta

5

I think Lo que está tratando de corregir es que su rama "principal" local se basa en la rama UAC remota, a diferencia de la troncal remota. Si está contento de perder sus confirmaciones, simplemente puede ejecutar la siguiente, que registrará el tronco y luego moverá la rama principal a su punto actual.

git checkout remotes/trunk 
git checkout -B master 

Si no quiere perder sus confirmaciones, git rebase es su amigo. Utilizar el siguiente:

git rebase $(git merge-base remotes/UAC master) master --onto remotes/trunk 

Esto se resuelve el padre común de la rama UAC y la rama maestro local, hace que todas las confirmaciones de allí a la punta de la rama principal en el tronco, luego se mueve la rama principal a señala allí.

+0

Me encontré en la misma situación de alguna manera (¿se fusionó la rama incorrecta en el maestro?) Y la solución de 'pago y envío' lo arregló para mí. Aceptaría esta respuesta si pudiera. – abeger

0

Una forma sería cambiar el nombre de la rama maestra actual y verificar el origen/troncal como (nueva) rama maestra.

git branch -m master uat 
git checkout origin/trunk master 

Si necesita ahora puede cereza-pic se compromete de la rama UAC de dominar (I utilizaría gitk --all para que me ayude con esto)

Un pequeño problema más complejo: Rename master branch for both local and remote Git repositories

Cuestiones relacionadas