Configurando Git para el directory existente de Drupal

Necesito ayuda para encontrar un repository git (bitbucket) en una carpeta Drupal html. Debo señalar que también soy nuevo en encoding, Drupal y Git. He caído en este papel y estoy muy por encima de mi cabeza.

Utilizamos las funciones de Drupal para administrar la configuration del sitio y son estos cambios los que se envían al repository de bitbucket. La carpeta Drupal tiene muchos files adicionales que no son parte del repository, ya que son imágenes, descargas, etc. … y nunca serán parte del repository bitbucket.

Así que tengo que resolver lo siguiente (me las arreglé para resolver bits):

  • Configurar git en la nueva carpeta
  • Conectando al repository bitbucket
  • Extracción de cambios del repository al nuevo directory y asegurando que esté actualizado

Parece sencillo pero sigo corriendo hacia los errores

Git Init Configura la carpeta

git remote add -t dev origin <bitbucket repository> Se conecta al dev de la twig del repository remoto

Luego pruebo un git pull, pero obtengo un error porque los files ya existen en la carpeta local.

Quiero sobrescribir los files locales que forman parte del repository bitbucket, pero también quiero conservar los files que no forman parte del repository bitbucket.

He intentado aplicar sugerencias que he visto en otras situaciones y ahora estoy en un lío con un file de cabeza separado, etc … que arreglaré por separado.

Si se pudiera hacer un flujo de trabajo sugerido, sería genial.

Mensaje de error como solicitado

 git pull <repository> <branch> ... themes/seven/reset.css themes/seven/screenshot.png themes/seven/seven.info themes/seven/style-rtl.css themes/seven/style.css themes/seven/template.php themes/seven/vertical-tabs-rtl.css themes/seven/vertical-tabs.css themes/stark/README.txt themes/stark/layout.css themes/stark/logo.png themes/stark/screenshot.png themes/stark/stark.info update.php web.config xmlrpc.php Please move or remove them before you can merge. Aborting 

Recomiendo leer los capítulos 1-3 de Pro Git , que te ayudarán a aprender el model de Git, que es lo más importante aquí.

Dicho esto, parece que estás en una situación extraña:

  • Usted tiene un repository existente que rastrea la configuration de Drupal en Bitbucket.
  • Tiene un directory en un server que contiene una configuration de Drupal que
    1. no está configurado con control de versiones, y
    2. también contiene múltiples activos (por ejemplo, imágenes, descargas) que el control de versión no debe rastrear.
  • Desea llevar el directory bajo control de versión.

Este es el problema: debido a que el directory no está siendo controlado por la versión actual, no se concilia fácilmente con la versión copy controlada en Bitbucket. Además, cuando ejecuta git init , crea un nuevo repository, con un historial completamente independiente . Técnicamente puedes unir los dos en una fuerza bruta, pero eso es less que ideal.

Tenga en count que la solución que estoy a punto de sugerir no es necesariamente recomendable, y que también asume que la configuration actual de Drupal en el server se deriva de dev en el repository de Bitbucket.


Lo que necesita hacer es crear manualmente un nuevo repository, uno cuyo historial corresponda al repository Bitbucket pero cuyo tree de trabajo sea su directory actual. En la raíz del directory de configuration, haz esto (esto supone que foo/ no existe previamente):

 rm -rf .git/ git clone --no-checkout <bitbucket_repo> foo/ mv foo/.git/ . rm -rf foo/ 

y esto debería, en teoría, dejarlo en una position para integrar su directory de configuration existente con el repository Bitbucket. Por supuesto, no estoy 100% seguro de si esto es lo que pretendías hacer, pero suena así.