入门与仓库创建

这一组命令用于开始一个 Git 仓库:要么把当前目录初始化为仓库,要么从已有远程地址复制一份仓库到本地。本页先识别两个入口;在暂存和提交前,继续 Git 状态模型与提交图,建立快照、index、HEAD 与分支心智模型。

git init

git init

用途:在当前目录创建一个新的 Git 仓库。执行后会生成 .git/ 目录,Git 的提交历史、分支引用、配置和暂存区状态都保存在这里。

适用场景:

  • 当前目录已有文件,但还没有被 Git 管理。
  • 想从零开始建立一个本地项目,再决定是否添加远程仓库。

注意点:

  • 应在项目根目录执行,不要在无关的父目录里误执行。
  • 如果当前目录已经是 Git 仓库,重复执行通常不会破坏历史,但没有必要。
  • git init 只建立本地仓库,不会自动连接 GitHub、GitLab 或其他远程仓库。
  • 默认分支名会受 Git 版本、安装器与 init.defaultBranch 配置影响。实验需要确定名称时显式运行:
git init --initial-branch=main

Git 2.55 的内建默认仍是 master,官方计划在 Git 3.0 改为 main;实际环境可能早已被配置覆盖,因此始终用 git branch --show-current 取证。

常见后续命令:

git status
git branch --show-current
git remote

这里先只观察状态。暂存、提交与远程推送分别在后续课程讲解;不要在不清楚范围时把 git add .、commit 和 push 当成初始化固定套餐。

git clone <url>

git clone https://github.com/example/project.git

用途:从远程仓库复制完整项目到本地,包括文件内容、提交历史、分支引用和远程地址配置。

适用场景:

  • 已经有一个远程仓库地址,例如 GitHub 仓库 URL。
  • 想在本地开始开发、阅读或运行一个已有项目。

常见写法:

git clone https://github.com/example/project.git
git clone git@github.com:example/project.git

注意点:

  • HTTPS 地址通常更容易直接使用;SSH 地址需要先配置 SSH key。
  • 克隆后的初始分支由远程 HEAD 决定,不能一律假设叫 main。
  • 默认会创建一个与仓库同名的目录。若想指定本地目录名,可以写成:
git clone https://github.com/example/project.git project-local

验证方式:

git status
git remote -v

git status 用于确认当前工作区状态,git remote -v 用于确认远程地址是否正确。

远程地址可能泄密

教学示例使用公开的虚构地址。不要把 token、密码或带 userinfo 的凭据写进 URL;公开记录 git remote -v 输出前先检查并脱敏。

只读观察练习

在一个你明确知道用途的已有仓库中,只运行以下只读命令:

git rev-parse --show-toplevel
git status --short --branch
git branch --show-current
git log -1 --oneline --decorate
git remote

回答:仓库根目录在哪里、当前分支是什么、工作区是否干净、最近提交是什么、配置了哪些远程名称。不要在真实仓库里为了练习运行 init、add、commit 或 push;需要写操作时进入 隔离综合项目。

参考资料

按 Git 2.55.0 官方文档核验,获取日期:2026-07-14。