mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-04-26 15:13:56 +00:00
Merge 234a9ebb90
into 7f0f27d84d
This commit is contained in:
commit
98e7007a53
29
zh-cn/git.md
29
zh-cn/git.md
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user