init git y git init -bare diferencias y resolver problemas sin archivos de origen no puede mirar a www

git init y git init -bare diferencia
dedica a la gente de desarrollo web, a veces se encuentran este tipo de problemas en el desarrollo del sitio, crear un almacén en el servidor web o www directorio, cada desarrollo se desplazará hacia arriba implementación directa, y se puede acceder directamente, sino en la creación del almacén, solución que no aparece ningún directorio web HTML, JS, archivo PHP se relaciona con el comando git init


Utilice el comando "git init --bare" git init --bare un significado, (significado chino desnudo es: desnudo, desnudo)

Inicialización del repositorio (por el momento se denomina repositorio desnudo) generará un archivo de clase : se encuentra en el directorio local puede ver el archivo en el directorio de registros del directorio .git .git archivo histórico repositorio;
y no contiene una copia de los archivos de origen real del proyecto , de modo que el depósito no puede ser llamado el directorio de trabajo (directorio de trabajo);
si se introduce la versión del directorio, usted encontrará sólo los archivos en el directorio .git, y no hay otros archivos;
cuando se visita el sitio cuando no se puede visitar, porque no hay archivos HTML bien.
Es decir, el interior de los archivos de directorio .git repositorio son archivos en el directorio .git dentro del archivo original en el directorio raíz del repositorio más adelante;

[root@slh githome]# git init --bare
Initialized empty Git repository in /home/echo/githome/
[root@slh githome]# ll
total 32
drwxr-xr-x. 2 root root 4096 2010-01-05 13:46 branches
-rw-r--r--. 1 root root   66 2010-01-05 13:46 config
-rw-r--r--. 1 root root   58 2010-01-05 13:46 description
-rw-r--r--. 1 root root   23 2010-01-05 13:46 HEAD
drwxr-xr-x. 2 root root 4096 2010-01-05 13:46 hooks
drwxr-xr-x. 2 root root 4096 2010-01-05 13:46 info
drwxr-xr-x. 4 root root 4096 2010-01-05 13:46 objects
drwxr-xr-x. 4 root root 4096 2010-01-05 13:46 refs

Estos archivos están destinados

|-- HEAD         # 这个git项目当前处在哪个分支里
|-- config       # 项目的配置信息,git config命令会改动它
|-- description  # 项目的描述信息
|-- hooks/       # 系统默认钩子脚本目录
|-- index        # 索引文件
|-- logs/        # 各个refs的历史信息
|-- objects/     # Git本地仓库的所有对象 (commits, trees, blobs, tags)
`-- refs/        # 标识你项目里的每个分支指向了哪个提交(commit)。

En otras palabras , cuando no se utiliza la opción -bare, generará directorios y archivos bajo .git historial de versiones, el archivo de la historia en estas versiones almacenadas en el directorio .git, y el uso de la opción de -bare ya no se generan. directorio de Git, pero sólo genera directorio .git archivo de historial de versiones, éstas archivo histórico versión ya no se almacena en el directorio .git siguiente, pero coloca directamente en el directorio raíz del repositorio


Escribir una buena sensación sobre ah, sólo un significado:
la historia repositorio git --bare sólo el archivo de inicio, desnudo (desnudo) tiendas de almacén sólo la historia y la meta-información, no mantiene un directorio de trabajo.

git init tiene un proyecto de archivos de origen, así como los archivos del repositorio de archivos históricos, historia en el directorio .git repositorio


Con "git init" para inicializar el repositorio, los usuarios pueden también en el lado del servidor llevar a cabo todos los aspectos del caso directorio Git. Sin embargo, otros usuarios se actualizarán cuando llegó propensos al conflicto.

Ejemplo, usuarios en el directorio (llamado un servidor de depósito distal) realiza la operación git, y tiene dos ramas (master y B1), la corriente en la rama principal. La actualización de la rama principal de otro usuario quiere ser dueño de un almacén local (llamado el repositorio local) que presente a la rama principal en el repositorio remoto, llamó concedida

git maestro origen empuje: master

Desde la aparición de

Debido a que la operación del usuario en el repositorio remoto es la rama principal, y desea presentar cambios a la rama principal, por supuesto, equivocado.

Pero si es sometida al extremo distal del almacén en la rama libre o puede, por ejemplo,

git push origin master: b1 todavía tener éxito

La solución es crear un denominado uso de almacén desnuda método "git init -bare", se llama desnuda porque este almacén es un almacén única versión de la información presentada por la historia git salvado,
pero no permite al usuario realizar varias operaciones de git en lo anterior, si insistir en la operación, sólo se obtendrá el siguiente error ( "esta operación se debe ejecutar en
un árbol de trabajo") esta es la mejor razón se inicializa en el extremo distal del almacén desnuda almacén.

Cuando se está desarrollando un sitio web, utilizando git init se
, pero hay un problema:
cuando un almacén de empuje local a un repositorio remoto, si el repositorio remoto es empujar una rama (si no, entonces empujar la rama, no hay ningún problema), y luego empuje los resultados no van a reaccionar antes de que el archivo o contenido en el árbol de trabajo, que se encuentra en el directorio correspondiente al repositorio remoto.
Solución : el servidor debe ejecutar el comando: git reset -difícil para ver el contenido del empuje.
Tan bueno problemas

Puede experimentar este problema
Git: empuje para resolver el principal error -> maestro (rama está actualmente desprotegido)
debido a la git push negó por defecto, necesita de fijación, modificación del lado del servidor .git / config añadir el siguiente código:


[receive]
denyCurrentBranch = ignore


Publicados 175 artículos originales · ganado elogios 76 · Vistas de 230.000 +

Supongo que te gusta

Origin blog.csdn.net/qq_29232943/article/details/60971061
Recomendado
Clasificación