Tengo un directorio no vacío (por ejemplo, / etc / something) con archivos que no se pueden renombrar, mover o eliminar.
Quiero verificar este directorio en git en su lugar.
Quiero poder llevar el estado de este repositorio a un repositorio remoto (en otra máquina) usando "git push" o algo similar.
Esto es trivial usando Subversion (actualmente lo hacemos usando Subversion) usando:
svn mkdir <url> -m <msg>
cd <localdir>
svn co <url> .
svn add <files etc>
svn commit -m <msg>
¿Cuál es el equivalente de git?
¿Puedo "git clone" en un directorio vacío y simplemente mover el directorio .git y hacer que todo funcione?
git init
dentro del directorio local?Respuestas:
Dado que ha configurado un demonio git
<url>
y un repositorio vacío:fuente
git config branch.master.remote origin
ygit config branch.master.merge refs/heads/master
lo que terminaré será exactamente igual que si clonara el repositorio remoto? es decir,git pull
ygit push
se acaba de trabajar ?AppName
en GitHub. No estaba claro para mí exactamente con qué<url>
medios. Entonces, para aquellos que tienen la misma pregunta, simplemente usamos GitHub.com, no estamos ejecutando nuestro repositorio, y luego lo<url>
que se usó en la 5ta línea se parecía a esto:https://github.com/CompanyName/AppName
git pull origin master --allow-unrelated-histories
hacer una fusión.Así es como lo hago. He agregado una explicación para entender qué diablos está pasando.
Inicializar repositorio local
primero inicialice Git con
Agregue todos los archivos para el control de versiones con
Crea un compromiso con el mensaje que elijas
Inicializar repositorio remoto
Cree un proyecto en GitHub y copie la URL de su proyecto. Como se muestra abajo:
Vincular repositorio remoto con repositorio local
Ahora use la URL copiada para vincular su repositorio local con el repositorio remoto de GitHub. Cuando clona un repositorio con git clone, crea automáticamente una conexión remota llamada origen que apunta hacia el repositorio clonado. El comando remoto se usa para administrar un conjunto de repositorios rastreados.
Sincronizar
Ahora necesitamos fusionar el código local con el código remoto. Este paso es crítico; de lo contrario, no podremos insertar código en GitHub. Debe llamar a 'git pull' antes de presionar su código.
Confirma tu código
Finalmente empuje todos los cambios en GitHub
fuente
Aquí está mi solución:
fuente
.gitignore
&README.dm
En caso de que el repositorio remoto no esté vacío (este es el caso si está utilizando IBM DevOps en hub.jazz.net), entonces debe usar la siguiente secuencia:
EDITAR el 30 de enero 17: Por favor, vea los comentarios a continuación, ¡asegúrese de estar en el repositorio correcto!
fuente
Cuando es un repositorio de github no vacío, como .gitignore y licencia
Use pull --allow-no-related-historories y push --force-with-lease
Usar comandos
fuente
git push -u origin master --force-with-lease
La forma más sencilla de hacer esto que me parece útil es la siguiente.
Puede que esta no sea la forma oficial, pero funciona bien.
Suponga que tiene un proyecto llamado "
XYZ
" en su PC. Ahora quieres hacer un repositorio git de este proyecto en github y usar sus funcionalidades.Paso 1 : ve a "
www.github.com
"Paso 2 : crea un repositorio con un "
README.md
" archivo (nómbralo como quieras)Paso 3 : clona el repositorio en tu PC.
Paso 4 : en la carpeta clonada obtendrá dos cosas: "
.git
" carpeta y un "README.md
" archivo. Copie estos dos en su carpeta de proyecto "XYZ
".Paso 5 : elimine el repositorio clonado.
Paso 6 : agregue, confirme y envíe todos los archivos y carpetas de su proyecto.
Ahora, puedes usar tu proyecto "
XYZ
" como un repositorio git.fuente
Tuve un problema similar. Creé un nuevo repositorio, NO EN EL DIRECTORIO QUE QUERÍA HACER UN REPOSITORIO . Luego copié los archivos creados en el directorio que quería hacer un repositorio. Luego abra un repositorio existente usando el directorio en el que acabo de copiar los archivos.
NOTA: Utilicé el escritorio de github para hacer y abrir el repositorio existente.
fuente
Aquí está mi solución si creó el repositorio con algún valor predeterminado
readme file
olicense
fuente