git基础知识总结

git的一种分布式版本控制系统

一、版本控制系统有以下几种类型:
1.本地版本控制系统(如 RCS)
在本地硬盘上保存文件修改变化。
2.集中式版本控制系统 (如SVN)
有一个单一的集中管理的服务器,保存所有文件的修订版本。
3.分布式版本系统 (如git)
客户端拥有服务端完整的仓库镜像和历史记录,服务器发生故障可以恢复。

二、git基础
1.克隆项目
git clone url
2.git文件的归属区域
git基础知识总结_第1张图片
untracked是指未跟踪的文件,即git不知道的文件,可通过修改git目录下的.gitignore文件让git忽略追踪某些文件。
unmodified是指还未修改的文件,项目刚clone下来时的文件,都是未修改状态。编辑文件即进入已修改状态。
modified是指已修改的文件文件(也称作工作区),文件修改后可以通过git add 命令将修改的文件加入暂存区。
staged是指已经加入暂存区的文件,可以通过git commit 命令提交到本地仓库,提交之后,文件恢复到未修改状态。

3.初始化git仓库
git init 初始化项目为本地git仓库,并将创建.git目录,这个目录里面是git仓库的核心文件。

4.添加文件到暂存区
git add [文件名]
git add * 添加所有已修改的文件到暂存区
*表示所有文件。

5.提交暂存区的文件到本地仓库
git commit -m “first commit”
-m 表示填写注释的意思
commit 常用命令git commit -am 提交所有已改动文件,并填写注释。(不要git add 修改到暂存区了,可略过git add 直接提交到本地仓库)

6.查看当前状态
git status

7.忽略文件
修改git项目下的 .gitignore文件。
.gitignore 的格式规范如下:
所有空行或者以 # 开头的行都会被 Git 忽略。
可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
匹配模式可以以(/)开头防止递归。
匹配模式可以以(/)结尾指定目录。
要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。 星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c); 问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。 使用两个星号(**)表示匹配任意中间目录,比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等。

8.查看已暂存和未暂存的修改
git diff
此命令比较的是工作目录中当前文件和暂存区域快照之间的差异。 也就是修改之后还没有暂存起来的变化内容。
git diff --staged
这条命令将比对已暂存文件与最后一次提交的文件差异。
请注意,git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动。 所以有时候你一下子暂存了所有更新过的文件,运行 git diff 后却什么也没有,就是这个原因。

9.查看git 提交日志
git log
按时间先后顺序列出所有的提交,最近的更新排在最上面。

10.移除文件
git rm 从暂存区移出,连带从工作目录中删除指定的文件。
如果要删除之前修改过或已经放到暂存区的文件,则必须使用强制删除选项 -f。
git rm --cached
我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中

11.移动文件
git mv file_from file_to
可用此命令重命名。


欢迎关注公众号:全栈黑科技
一起交流学习。
git基础知识总结_第2张图片

你可能感兴趣的:(git,git,版本控制系统)