docs(git): add base

This commit is contained in:
zjkjzj
2021-03-18 17:06:57 +08:00
parent b37ba05b53
commit 967b4b575d
12 changed files with 764 additions and 1 deletions

View File

@@ -0,0 +1,104 @@
# 提交新版本
在本地创建`git`仓库后,就可以对文件进行版本控制.文件分为`2`种状态:已追踪(`tracked`)和未追踪(`untracked`)
* 未追踪(`untracked`)文件就是未添加到版本控制的文件
* 已追踪的文件可分为已修改(`modified`),已暂存(`staged`)和未修改(`unmodified`)文件
基本的`git`工作流程如下:
1. 在工作目录下添加文件,修改文件或删除文件
2. 保存文件状态到暂存区域
3. 提交修改记录到仓库
![](https://git-scm.com/book/en/v2/images/lifecycle.png)
## 查看文件状态
使用命令`git status`查看文件状态,同时会给出相应文件状态下的命令
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: docs/source/index.rst
Untracked files:
(use "git add <file>..." to include in what will be committed)
.vscode/
docs/source/git/
no changes added to commit (use "git add" and/or "git commit -a")
仅需查看文件状态
$ git status -s
A .vscode/settings.json
M docs/source/index.rst
?? docs/source/git/
符号`A`表示已暂存,符号`M`表示已修改,符号`??`表示未追踪
其中已修改文件有如下`3`种状态
$ git status -s
M README
MM Rakefile
M lib/simplegit.rb
* 符号`_M`表示已修改还未加入暂存区域
* 符号`MM`表示已加入暂存区域的已修改文件又被修改了
* 符号`M_`表示添加到暂存区域的已修改文件
## 添加修改文件
使用命令`git add`将未追踪文件或已修改文件添加到暂存区域
git add name1 name2 ...
# 添加所有文件
git add *
### 忽略文件
编辑`.gitignore`文件,将整个工程文件中不想添加版本控制的文件加入进去
所有空行或者以 开头的行都会被 Git 忽略。
可以使用标准的 glob 模式匹配。
匹配模式可以以(/)开头防止递归。
匹配模式可以以(/)结尾指定目录。
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
可参考[github/gitignore](https://github.com/github/gitignore),上面包含了很多不同开发环境下的.gitignore文件
如果`git add`添加了忽略文件会报错,可以使用`-f`强制添加
git add -f name1 name2 ...
## 提交暂存文件
git commit -m '提交信息'
或者`git commit`然后回车,会打开设置的编辑器进行操作
## 撤销暂存文件
对添加到暂存区域的文件使用命令
git reset HEAD <file>...
## 撤销已修改文件
对已修改文件使用命令
git checkout -- <file>...