2011-09-05 15 views

Respuesta

6

¿Por qué crees que no es apropiado?

git pull actualizará su rama al mismo estado del repositorio remoto, por lo que si el archivo que tiene está en una versión más reciente en el control remoto, será reemplazado.

EDITAR

Si después de la retirada, fusiones se hacen con los cambios locales, puede restablecer el estado de repositorio remoto con lo siguiente:

git reset origin/head -- <file-path> 
+1

Como dijiste, pero encontré que mi archivo local se fusionó con el nuevo archivo del repositorio remoto y no se reemplazó. – coolesting

+0

@coolesting: actualicé mi respuesta. – CharlesB

0

Así que usted ha hecho un local de cometer afectando este archivo, y desea descartar su confirmación y simplemente tomar el estado remoto sin fusionarse, ¿es así?

Suponiendo que nadie más ha visto su confirmación local (es decir, usted no push y nadie pull ed de su repositorio), puede devolver su CABEZA local antes de la confirmación, y luego hacer la extracción.

NB. si no está seguro, ejecute git fetch primero, y luego git status le dirá si la extracción sería una operación de avance rápido o combinación. Avance rápido significa que su cambio local está fuera de la imagen.

+0

No, solo quiero que mi archivo local sea igual que el archivo remoto en el estado en desarrollo. Actualizando el archivo local con el repositorio remoto, pero en algún momento, normalmente, nuestros archivos son la diferencia entre el local y el remoto, en general, fusionaremos estos dos archivos, pero ahora quiero reemplazar totalmente el archivo local por remoto, no por fusión. – coolesting

+0

Si hay una diferencia entre las versiones local y remota del archivo, seguramente es porque lo ha cambiado. Quizás pueda explicar el estado del archivo, en su 'maestro' local, el' origen/maestro' remoto y su ancestro común, un poco más claramente en su pregunta. – Useless

5

Si desea reemplazar un solo archivo, puede utilizarlo.

git checkout -- filename 

Click here para más detalles

-1

Podría muy bien ser cierto que la cuestión-autor de la pregunta en realidad sabe exactamente lo que está hablando y sólo necesita los mecánicos howtos contestadas, no una discusión filosofía.

git checkout - (guión doble), entonces el nombre del archivo, el espacio entre doble guión y nombre de archivo

git checkout - [nombre de archivo en repo incluyendo el camino]

ejemplo: git checkout - views/userEditor.pug

Menos filosofía, más asistencia real. Sheesh.

Cuestiones relacionadas