mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-04-26 07:03:57 +00:00
[git/zh-cn] Add periods for better reading in the multiple lines.
This commit is contained in:
parent
5f344b47fa
commit
e0a9c307e7
47
zh-cn/git.md
47
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,46 +38,46 @@ 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 文件夹的作用)
|
||||
|
||||
头指针是一个指向当前分支的指针,一个版本库只有一个当前活动的头指针
|
||||
而头则可以指向版本库中任意一个提交,每个版本库也可以有多个头
|
||||
头指针是一个指向当前分支的指针,一个版本库只有一个当前活动的头指针。
|
||||
而头则可以指向版本库中任意一个提交,每个版本库也可以有多个头。
|
||||
|
||||
## 命令
|
||||
|
||||
|
||||
### 初始化
|
||||
|
||||
创建一个新的git版本库。这个版本库的配置、存储等信息会被保存到.git文件夹中
|
||||
创建一个新的git版本库。这个版本库的配置、存储等信息会被保存到.git文件夹中。
|
||||
|
||||
```bash
|
||||
$ git init
|
||||
@ -84,7 +85,7 @@ $ git init
|
||||
|
||||
### 配置
|
||||
|
||||
更改设置。可以是版本库的设置,也可以是系统的或全局的
|
||||
更改设置。可以是版本库的设置,也可以是系统的或全局的。
|
||||
|
||||
|
||||
```bash
|
||||
@ -100,7 +101,7 @@ $ git config --global user.name "My Name"
|
||||
|
||||
### 帮助
|
||||
|
||||
git内置了对命令非常详细的解释,可以供我们快速查阅
|
||||
git内置了对命令非常详细的解释,可以供我们快速查阅。
|
||||
|
||||
```bash
|
||||
# 查找可用命令
|
||||
@ -118,7 +119,7 @@ $ git help init
|
||||
|
||||
### 状态
|
||||
|
||||
显示索引文件(也就是当前工作空间)和当前的头指针指向的提交的不同
|
||||
显示索引文件(也就是当前工作空间)和当前的头指针指向的提交的不同。
|
||||
|
||||
|
||||
```bash
|
||||
@ -132,7 +133,7 @@ $ git help status
|
||||
### 添加
|
||||
|
||||
添加文件到当前工作空间中。如果你不使用 `git add` 将文件添加进去,
|
||||
那么这些文件也不会添加到之后的提交之中
|
||||
那么这些文件也不会添加到之后的提交之中。
|
||||
|
||||
```bash
|
||||
# 添加一个文件
|
||||
@ -147,7 +148,7 @@ $ git add ./*.java
|
||||
|
||||
### 分支
|
||||
|
||||
管理分支,可以通过下列命令对分支进行增删改查
|
||||
管理分支,可以通过下列命令对分支进行增删改查。
|
||||
|
||||
```bash
|
||||
# 查看所有的分支和远程分支
|
||||
@ -169,7 +170,7 @@ $ git branch myBranchName --edit-description
|
||||
|
||||
### 检出
|
||||
|
||||
将当前工作空间更新到索引所标识的或者某一特定的工作空间
|
||||
将当前工作空间更新到索引所标识的或者某一特定的工作空间。
|
||||
|
||||
```bash
|
||||
# 检出一个版本库,默认将更新到master分支
|
||||
@ -183,7 +184,7 @@ $ git checkout -b newBranch
|
||||
### clone
|
||||
|
||||
这个命令就是将一个版本库拷贝到另一个目录中,同时也将
|
||||
分支都拷贝到新的版本库中。这样就可以在新的版本库中提交到远程分支
|
||||
分支都拷贝到新的版本库中。这样就可以在新的版本库中提交到远程分支。
|
||||
|
||||
```bash
|
||||
# clone learnxinyminutes-docs
|
||||
@ -192,7 +193,7 @@ $ git clone https://github.com/adambard/learnxinyminutes-docs.git
|
||||
|
||||
### commit
|
||||
|
||||
将当前索引的更改保存为一个新的提交,这个提交包括用户做出的更改与信息
|
||||
将当前索引的更改保存为一个新的提交,这个提交包括用户做出的更改与信息。
|
||||
|
||||
```bash
|
||||
# 提交时附带提交信息
|
||||
@ -306,7 +307,7 @@ $ git push origin master
|
||||
|
||||
### rebase (谨慎使用)
|
||||
|
||||
将一个分支上所有的提交历史都应用到另一个分支上
|
||||
将一个分支上所有的提交历史都应用到另一个分支上。
|
||||
*不要在一个已经公开的远端分支上使用rebase*.
|
||||
|
||||
```bash
|
||||
|
Loading…
Reference in New Issue
Block a user