1. 创建一个新的仓库
在对 Git 仓库进行 commit 或执行任何其他操作之前,需要一个实际存在的仓库。要使用 Git 新建一个仓库,我们将使用 git init
命令。
# git init
运行 git init 命令会初始化 Git 跟踪所有内容会用到的所有必要文件和目录。所有这些文件都存储在叫做 .git的目录下。Git 会将所有 commit 记录在这里,并跟踪所有内容!
警告:请勿直接修改 .git 目录下的任何文件。
.git 目录内容
- config 文件 - 存储了所有与项目有关的配置设置。
- description 文件 - 此文件仅用于 GitWeb 程序,因此可以忽略
- hooks 目录 - 我们会在此处放置客户端或服务器端脚本,以便用来连接到 Git 的不同生命周期事件
- info 目录 - 包含全局排除文件
- objects 目录 - 此目录将存储我们提交的所有 commit
- refs 目录 - 此目录存储了指向 commit 的指针(通常是“分支”和“标签”)
2. 克隆一个现有仓库
在 Git 上进行克隆的方法是调用我们将在终端上运行的命令 git clone,然后传入要克隆的 Git 仓库的路径(通常是 URL)。
git clone
命令用于创建一个与现有仓库完全相同的副本。
# git clone <path-to-repository-to-clone>
执行这条命令:
- 会获取现有仓库的路径
- 默认地将创建一个与被克隆的仓库名称相同的目录
- 可以提供第二个参数,作为该目录的名称
- 将在现有工作目录下创建一个新的仓库
3. 判断一个仓库的状态
git status
是了解 Git 的核心所在。它将告诉我们 Git 正在考虑什么,以及 Git 所看到的我们仓库的状态。
当你第一次使用 Git 时,你应该一直都要使用 `git status` 命令!
git status
命令将显示仓库的当前状态。
# git status
执行这条命令:
- 告诉我们已在工作目录中被创建但 Git 尚未开始跟踪的新文件
- 显示Git 正在跟踪的已修改文件
- 当前仓库的工作状态
4. 查看仓库中的信息
git log
命令用于显示仓库中所有 commit 的信息。
# git log
默认情况下,该命令会显示仓库中每个 commit 的:
- SHA
- 作者
- 日期
- 消息
git 使用命令行分页器 less 浏览所有信息。以下是 less 的重要快捷键: - 要按行向下滚动,使用 j 或 ↓
- 要按行向上滚动,使用 k 或 ↑
- 要按页向下滚动,使用空格键或 Page Down 按钮
- 要按页向下滚动,使用 b 或 Page Up 按钮
- 要退出,使用 q
--oneline
选项:
# git log --oneline
此命令:
- 每行显示一个 commit
- 显示 commit 的 SHA 的前 7 个字符
- 显示 commit 的消息
--stat
选项:
# git log --stat
- 显示被修改的文件
- 显示添加/删除的行数
- 显示一个摘要,其中包含修改/删除的总文件数和总行数
-p
选项
# git log -p
此命令会向默认输出中添加以下信息:
- 显示被修改的文件
- 显示添加/删除的行所在的位置
- 显示做出的实际更改
一个显示特定 commit 的命令是 git show
:
# git show
运行上述示例命令将仅显示最近的 commit。
所有这些命令提供 commit 的 SHA 作为最后一个参数显示特定的commit的详情