remove - git tag commands
Git no me deja fusionarme (4)
No tengo idea de cómo se cambiaron los permisos de archivos para algunos archivos de la rama principal.
git diff:
diff --git a/app/Resources/views/base.html.twig b/app/Resources/views/base.html.twig
old mode 100644
new mode 100755
Yo comprometí los cambios realizados:
git commit --all -m "changes permissions from 644 to 755"
Después de eso, pude fusionar la sucursal como si nada hubiera pasado
git merge Mk
Aunque sé que esta no es la solución más elegante ... ¡Pero me alegra tener mi código de vuelta! Ahora solo tengo que descubrir cómo revertir este cambio de permiso. ¡Gracias por la gran ayuda!
¡Buenas tardes!
Sé que esto es muy habitual y probablemente haya miles de respuestas en Internet, pero no pude encontrar una que fuera completa.
Tengo dos sucursales locales:
- DOMINAR
- Mk
Hice muchos cambios en Mk, los comprometí y cambié a MASTER para fusionar estas dos ramas. Pero hubo conflictos. Así que ahora estoy en la rama MASTER, ya no puedo cambiar a Mk, pero necesito anular mi MASTER con Mk.
Sigue diciendo
error: sus cambios locales en los siguientes archivos se sobrescribirán mediante fusión
¿Hay alguna forma de hacer esto?
git mergetool --tool=meld #No files need merging
git merge -s theirs Mk #Could not find merge strategy ''theirs''.
git merge -X recursive=theirs Mk # error: Your local changes to the following files
sería sobreescrito por fusión
y aún no envié mis cambios a mi repositorio en línea.
Puedo ver la confirmación con todos los cambios pero no puedo acceder a su código.
Acabo de empezar a usar git hace un tiempo pero nunca tuve problemas como ese antes. Realmente agradecería cualquier ayuda que pueda obtener: s
error: sus cambios locales en los siguientes archivos se sobrescribirán mediante fusión
Esto se debe generalmente a que tiene cambios no confirmados que se sobrescribirán. Entonces, primero debe lidiar con eso ya sea (1) cometiendo o (2) ocultando:
git add .; git commit -m "committing my workz"
# or
git add.; git stash
Ahora intenta la fusión. Quizás tengas conflictos. Desea que todos los cambios de mk
tengan prioridad sobre lo que está en el master
, porque git es demasiado sensible para detectar conflictos a veces (por ej., No hay conflictos reales), o porque quien se estaba comprometiendo con el master
era un tonto:
git checkout master
git merge mk
# oh noes! merge conflicts
# CONFLICT (content): Merge conflict in foo_bar.txt
git checkout mk -- foo_bar.txt
git commit
¡AUGE! Tornillo master
. Tú no eres mi maestro.
Nota: git checkout
se usa normalmente para volver a marcar HEAD
(y actualizar su directorio de trabajo) en una rama / etiqueta / SHA / lo que sea, pero si lo hace, git checkout SHA -- file
no volverá a marcar su HEAD
, sino que actualizará el archivo que pasa después de --
para reflejar ese contenido de archivo / ruta en el SHA que pasa. Puede pasar una ruta en lugar de un archivo exacto y se extraerán todos los archivos que son diferentes en esa ruta.
Asegúrese de tener una copia de trabajo limpia de MASTER.
git merge -s recursive -X theirs Mk
Como no existe una estrategia (aunque haya formas de simularla ), no podrías:
- fusionar el primer maestro a mk:
git checkout mk && git merge -s ours master
- la combinación de mk a master (avance rápido):
git checkout master && git merge mk
-s ours
estrategia se asegurará de mantener la versión de mk
en caso de conflicto.