This commit is contained in:
龙一 2025-04-18 11:37:30 +08:00 committed by GitHub
commit 98e7007a53
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3,6 +3,7 @@ contributors:
- ["Jake Prather", "http://github.com/JakeHP"]
translators:
- ["Chenbo Li", "http://binarythink.net"]
- ["linglilongyi", "http://github.com/linglilongyi"]
---
Git是一个分布式版本控制及源代码管理工具
@ -37,39 +38,39 @@ Git可以为你的项目保存若干快照以此来对整个项目进行版
### 版本库
一系列文件,目录,历史记录,提交记录和头指针。
可以把它视作每个源代码文件都带有历史记录属性数据结构
可以把它视作每个源代码文件都带有历史记录属性数据结构
一个Git版本库包括一个 .git 目录和其工作目录
一个Git版本库包括一个 .git 目录和其工作目录
### .git 目录(版本库的一部分)
.git 目录包含所有的配置、日志、分支信息、头指针等
.git 目录包含所有的配置、日志、分支信息、头指针等
[详细列表](https://gitready.com/advanced/2009/03/23/whats-inside-your-git-directory.html)
### 工作目录 (版本库的一部分)
版本库中的目录和文件,可以看做就是你工作时的目录
版本库中的目录和文件,可以看做就是你工作时的目录
### 索引(.git 目录)
索引就是git中的 staging 区. 可以算作是把你的工作目录与Git版本库分割开的一层
这使得开发者能够更灵活的决定要将要在版本库中添加什么内容
索引就是git中的 staging 区. 可以算作是把你的工作目录与Git版本库分割开的一层
这使得开发者能够更灵活的决定要将要在版本库中添加什么内容
### 提交
一个 git 提交就是一组更改或者对工作目录操作的快照
比如你添加了5个文件删除了2个文件那么这些变化就会被写入一个提交比如你添加了5个文件删除了2个文件那么这些变化就会被写入一个提交中
而这个提交之后也可以被决定是否推送到另一个版本库中
一个 git 提交就是一组更改或者对工作目录操作的快照
比如你添加了5个文件删除了2个文件那么这些变化就会被写入一个提交比如你添加了5个文件删除了2个文件那么这些变化就会被写入一个提交中
而这个提交之后也可以被决定是否推送到另一个版本库中
### 分支
分支其实就是一个指向你最后一次的提交的指针
当你提交时,这个指针就会自动指向最新的提交
分支其实就是一个指向你最后一次的提交的指针
当你提交时,这个指针就会自动指向最新的提交
### 头指针 与 头(.git 文件夹的作用)
头指针是一个指向当前分支的指针,一个版本库只有一个当前活动的头指针
而头则可以指向版本库中任意一个提交,每个版本库也可以有多个头
头指针是一个指向当前分支的指针,一个版本库只有一个当前活动的头指针
而头则可以指向版本库中任意一个提交,每个版本库也可以有多个头
## 命令
@ -306,7 +307,7 @@ $ git push origin master
### rebase (谨慎使用)
将一个分支上所有的提交历史都应用到另一个分支上
将一个分支上所有的提交历史都应用到另一个分支上
*不要在一个已经公开的远端分支上使用rebase*.
```bash