Inicialización local:
Si desea utilizar Git para administrar un proyecto, debe inicializar Git init, que genera un archivo oculto en el directorio actual.
git init # 创建新仓库
git config --global user.email "[email protected]" # 设置全局email
git config --global user.name "Anderson" # 设置全局用户名
git config --global user.email "" # 清空配置的email
git config --global user.name "" # 清空配置的全局名
.git
La carpeta guarda toda la información relacionada con el almacén local git. Si desea restaurarla en una carpeta normal:
rm -rf .git # 删除.git这个隐藏文件即可
Clona un repositorio local desde un repositorio Git remoto:
git clone # 后面加上Git仓库的地址
Flujo de trabajo:
El almacén local se compone de 3 áreas. Contiene su código fuente y otros archivos reales. Es como un búfer entre el espacio de trabajo y el repositorio. Almacena temporalmente sus cambios, registra cada uno de sus envíos y mantiene varias ramas.,工作区
暂存区
本地版本库
Ver el estado del archivo
Todos los archivos se encuentran en uno de dos estados: sin seguimiento y con seguimiento .
Los archivos sin seguimiento no están incluidos en el control de versiones de git.
El estado rastreado se puede subdividir en los tres estados siguientes:
① sin modificar: consistente con el último archivo en el repositorio
② modificado: recién modificado
③ preparado: modificado y agregado al área de almacenamiento temporal , esperando envío
Espacio de trabajo : el lugar donde escribimos código y el directorio de trabajo se llama espacio de trabajo.
Área de almacenamiento temporal :
① Área de almacenamiento temporal: en git, el código no se puede enviar directamente desde el área de trabajo al área de almacén.
② Si desea enviar el código desde el área de trabajo al área de almacén, primero debe enviarlo al área de preparación y luego enviarlo al área de almacén.
③El propósito del área de almacenamiento temporal es evitar un mal funcionamiento.
Zona de almacén :
① Transfiera permanentemente el contenido guardado en el área de almacenamiento temporal al almacén de git y genere un número de versión.
② Según el número de versión generado, podemos retroceder a cualquier versión del historial.
git status # 查看文件状态
# 红色的表示工作区的文件需要提交
# 绿色的表示暂存区中的文件需要提交
git add index.vue # 将index.vue单个文件添加到暂存区
git add css # 将css目录下的所有文件添加到暂存区
git add all
gti add . # 这两个都表示,将所有的文件都添加到暂存区
Siempre que se modifiquen los archivos en el espacio de trabajo, los archivos modificados deben agregarse al área de almacenamiento temporal.
git commit -m "提交的说明文字" # 将文件从暂存区提交到仓库,这将会生成版本号存档
Nota: Si no se escribe ninguna descripción, el envío no tendrá éxito.
Extraiga el código remoto y actualice el código local
git pull # 拉取代码
Enviar código local al repositorio remoto
git push # 推送到远程
// 把刚创建的分支推送到远程
git push --set-upstream origin 刚创建的分支名
Enumere todas las sucursales locales: la sucursal actual tendrá un signo * delante
git branch # 查看所有的分支
cambiar de rama
git checkout 分支名 # 切换分支
Crear una sucursal remota
git push origin 分支名 # 把刚创建的本地分支,创建一个远程分支
crear una sucursal
git checkout -b 分支名 # 创建本地分支并切换分支
// 这条命令把创建本地分支和切换到该分支的功能结合起来了
git branch 分支名 # 基于当前分支创建一个本地分支
// 这条命令是创建一个新分支出来,剩下的操作还要切换到新分支、再把新分支与远程分支关联。
Asociar sucursal local con sucursal remota
git branch –set-upstream 本地分支名 origin/远程分支名
或者
git branch –set-upstream-to=origin/远程分支名
// 示例:git branch –set-upstream-to=origin/test # 把本地test分支与远程进行关联
eliminar rama
git branch -d 分支名称 # 删除分支
// 不能在当前分支删除当前分支,需要切换到其他分支才能删除。
// master 分支一般是主分支,不建议删除。
Cambiar el nombre de la sucursal localmente
git branch -m 原始名称 新名称 # 本地分支重命名
//示例: 修改 test 为 newTest
// git branch -m test newTest
Nombre duplicado de sucursal remota
git branch -m 旧分支名称 新分支名称 # 先重名名本地分支
git push --delete origin 旧分支名称 # 删除远程分支
git push origin 新分支名称 # 把本地分支推到远程,这时候系统会自动关联分支
fusionar ramas
git merge 分支名 # 合并分支
// 在当前分支合并其他分支
Si hay un conflicto de fusión, debe resolverlo manualmente o revertir el código; después de resolver el conflicto, debe volver a git add.
Ver el historial de confirmaciones de un repositorio
git log # 查看历史记录,这个看不了已回退的版本记录
git reflog # 查看所有的版本信息,包括已回退的版本
Revertir la versión, revertir el código a una versión histórica, requiere el número de versión histórica
git reset --hard 版本号 # 将代码回退到历史的某一个版本,需要版本号
Revertir el código en el área de preparación, después de git add
git reset HEAD # 后面什么都不加,就是回退全部的
git reset HEAD 文件名 # 回退单个文件名
Revertir el código en el área del almacén, después de git commit
git reset --soft HEAD^ # 回退commit的提交,仅仅是撤回commit操作,但写的代码仍然保留
// HEAD^意思是上一个版本,
// 也可以写成HEAD~1,如果你进行了2次commit,想都撤回,可以使用HEAD~2。
git reset --mixed HEAD^
// 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
git reset --soft HEAD^
// 不删除工作空间改动代码,撤销commit,不撤销git add .
git reset --hard HEAD^
// 删除工作空间改动代码,撤销commit,撤销git add .
Modificar comentarios de confirmación
git commit -m 新注释 --amend
// git commit 加上 --amend 参数,并用 -m 指明新的注释,执行后便会覆盖掉老的注释
Reversión de revisión de Git
git checkout 分支名 # 切换到需要回退的分支
git log # 查看提交记录
git reset --hard # 代码回退
git reset --hard id # id为commit提交的记录
git review # 重新提交修改
Reversión de rebase de Git
git reflog # 先查看本地提交操作编号
// 找到提交前的项目编号,例如4c173eb HEAD@{3}: commit: scan ,
// 执行:git reset --hard 4c173eb
Respaldo de elección de Git
git cherry-pick --abort