一:基础使用命令大全:
1:初始化:git-init - 创建一个空的 Git 仓库或重新初始化已有的
bash
git init [-q | --quiet] [--bare] [--template=<template-directory>]
[--separate-git-dir <git-dir>] [--object-format=<format>]
[--ref-format=<format>]
[-b <branch-name> | --initial-branch=<branch-name>]
[--shared[=<permissions>]] [<directory>]
简单实例:
初始化当前目录为 Git 仓库:
git init
新建一个叫 my-project 的文件夹并初始化:
git init my-project
初始化并指定初始分支为 main:
git init -b main
这一段内容都是可以选择的参数:
[-q | --quiet]:安静模式,不输出日志(一般不用)[--bare]:创建裸仓库(一般给服务器用,本地开发不用)[-b <branch-name>]:指定初始分支名(比如git init -b main)- 只有
<directory>是可选的目标路径,比如git init my-project会新建my-project文件夹并初始化。
并非最开始创建的时候需要都加入进去。
git init 高级参数
这些参数是给特殊场景 / 服务器 / 高级用户准备的,本地工程初始化 99% 用不上:
--ref-format=<format>
- 作用:指定 Git 内部引用的存储格式
- 默认:
files(松散文件,稳定可靠)- 实验性:
reftable(性能更好,但还在测试,结构可能变)- 核心思路:Git 想优化内部存储性能,但为了稳定,默认还是用老方案,普通开发者完全不用改。
--template=<template-directory>
- 作用:指定初始化时用的模板目录(比如预设钩子、配置)
- 核心思路 :给团队 / 公司做标准化仓库用的,比如统一预设
.gitignore、钩子脚本,普通开发者直接用默认模板就行。
--separate-git-dir=<git-dir>
- 作用:把
.git目录单独放到别的路径,当前目录只留一个指向它的文本文件- 核心思路:适合把仓库数据和代码目录分开(比如存到移动硬盘 / 云盘),但日常开发没必要折腾,会增加复杂度。
--shared[=<permissions>]
- 作用:设置多用户共享仓库的权限(比如组内可写、所有人可读)
- 取值:
group/all/umask等- 核心思路:给服务器上的共享仓库用的(比如团队内部 Git 服务器),本地个人仓库完全不需要,默认权限就够。
&&1.GitLab里面实现了版本兼容,不需要手动执行的 SHA-1 → SHA-256 转换命令