最近又开始使用Git工具部署项目了,太久没用很多基本的语法都忘记了,再加上自己博客也好久没更新文章了。于是乎,接着这个机会就对Git知识进行一次总结吧。
一、前言
1.Git工作流程
Git工作区域可以分为四个:①远程仓库;②本地仓库;③暂存区;④Workspace(即本地项目文件夹)。通过使用Git相关指令可以实现本地项目上传至远程仓库,也可以实现从远程仓库中拉项目到本地文件夹中,具体流程图如下:
2.Git文件状态
Git文件拥有4种状态:
1.Untracked: 这代表此文件在Workspace中但并未加到暂存区中;
2.Unmodified: 这代表该文件已加入到本地仓库且此文件版本与Workspace中文件版本一致。可使用git rm --cached <fileName>命令将其仅从本地仓库中删除,但是不会影响工作区间中的原文件。
3.Modified: 这代表该文件版本已改变但并未放入暂存区中。此时有两种操作:①使用git add <fileName>命令将其放入暂存区;②使用git restore <fileName>命令将本地仓库中前版本同名文件调出进而对Workspace中的同名文件进行覆盖(即丢弃当前修改)。
4.Staged: 这代表此文件已经放入暂存区中。此时仍有两种操作:①使用git commit -m "Tips"将其放入本地仓库中,此时本地仓库文件和工作区文件版本一致,此文件状态将转换为Unmodified;②使用git reset <fileName>命令取消暂存,此时Workspace同名文件状态转化为Modified。
3.忽略文件
Git中忽略文件名为.gitignore,位于Workspace中。其用途简单来说就是避免不必要的文件上传至远程仓库中。.gitignore文件规则如下:
- 忽略文件中的空行或以“#”开始的行会被忽略;
- 可以使用Linux通配符。例如,“*”代表任意多字符、“?”代表一个字符、“[]”代表可选字符范围、“{}”代表可选字符串等;
- 若名称的最前面有“!”,表示例外规则,将不被忽略;
- 若名称的最前面有“/”,表示要忽略的文件或文件夹在此目录下,而其它子目录下的同名文件或文件夹则不会被忽略;
- 若名称的最后有“/”,表示要忽略所有目录下的同名目录,同名文件则不会忽略。
注意: “temp/*.txt”则代表忽略所有”temp/“目录下直属txt文件,但是”temp/sub/“中的txt文件则不会被忽略。
二、使用流程
1.初始化工作间(Workspace)
1 | 在当前目录新建一个Git代码库 |
2.全局配置
首先要进行SSH Key配置。只有在远端仓库添加了本地生成的SSH Key才能实现在本地与远端仓库的文件拉取。
1 | 1.生成本地SSH Key |
Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
1 | 显示当前的Git配置 |
3.项目提交
1 | 将项目所有文件(.)添加至暂存区 |
三、其它常用命令
1.分支操作
1 | 列出所有分支 |
2.远程同步
1 | 显示当前origin所指向的远程仓库 |
3.其它
详情请见网址Git 大全 - Gitee.com