Git版本控制系统

一:基础使用命令大全:

命令大全:https://git-scm.com/docs

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% 用不上:

  1. --ref-format=<format>

    • 作用:指定 Git 内部引用的存储格式
    • 默认:files(松散文件,稳定可靠)
    • 实验性:reftable(性能更好,但还在测试,结构可能变)
    • 核心思路:Git 想优化内部存储性能,但为了稳定,默认还是用老方案,普通开发者完全不用改。
  2. --template=<template-directory>

    • 作用:指定初始化时用的模板目录(比如预设钩子、配置)
    • 核心思路 :给团队 / 公司做标准化仓库用的,比如统一预设 .gitignore、钩子脚本,普通开发者直接用默认模板就行。
  3. --separate-git-dir=<git-dir>

    • 作用:把 .git 目录单独放到别的路径,当前目录只留一个指向它的文本文件
    • 核心思路:适合把仓库数据和代码目录分开(比如存到移动硬盘 / 云盘),但日常开发没必要折腾,会增加复杂度。
  4. --shared[=<permissions>]

    • 作用:设置多用户共享仓库的权限(比如组内可写、所有人可读)
    • 取值:group/all/umask
    • 核心思路:给服务器上的共享仓库用的(比如团队内部 Git 服务器),本地个人仓库完全不需要,默认权限就够。

&&1.GitLab里面实现了版本兼容,不需要手动执行的 SHA-1 → SHA-256 转换命令

相关推荐
我叫黑大帅3 小时前
git 的 NFD 与 NFC 有什么区别?为什么我有个文件在 NFC 中间不会被当成改动,在 NFD 中就会当成改动
git·面试·github
呆萌很6 小时前
Git push 408 超时、远程断开解决办法
git
Lesile7 小时前
Hands-on Git experience
git
Co_Hui8 小时前
Git 基本使用
git
cooldream20098 小时前
AI 时代,Git 应该怎么学
人工智能·git
柒和远方10 小时前
V053: 从 Git 回退到 AI 工程治理:Vibe Coding 的 Harness 工作流与质量阀门
git·vibecoding
炸膛坦客12 小时前
Git 和 GitHub:(五)一文给出常用 Git 命令,持续更新中......
git·github
门前大桥下.13 小时前
从git创建新分支后推送数据同步新的分支
git
炸膛坦客1 天前
Git 和 GitHub:(三)基础知识与实用技巧
git·github
触底反弹1 天前
Vibe Coding 不写 Git,等于悬崖边飙车
人工智能·git·面试