Git基础操作之正常提交
本人把基础操作分为两个部分:1)正常提交操作;2)撤销操作。主要因为撤销操作有多种场景,且同一命令的不同参数的结果可能大相径庭,故单独把撤销操作做为一节。
一、获取项目的Git仓库
获取项目的Git仓库有两种方式:1)在本地目录初始化Git仓库,通过Git的提交操作新增项目文件至Git仓库,被Git管理;2)通过克隆已有的Git仓库到本地目录,被Git管理。
1、Git初始化本地目录
使用git init
命令初始化当前目录,操作结束后在本地生成.git仓库。
2、克隆远程仓库到本地
若要通过克隆的方式的获取Git仓库,只需要知道远程仓库的Git地址,就可以通过git clone url
的方式将其克隆到本地。
1)远程仓库地址选用本人在GitHub上的一个测试项目,仓库地址为https://github.com/kivihub/test.git
。
2)通过git clone https://github.com/kivihub/test.git
克隆远程仓库。
二、正常的提交流程
1、查看状态
通过git status
命令查看当前状态。
1)未跟踪状态
2)暂存状态
3)已提交状态
4)已修改状态
2、状态变化图
3、暂存文件
1)未跟踪文件的暂存操作
- 新建文件foo.txt(文件处于未跟踪状态)。
git add foo.txt
,把文件提交至暂存区(文件处于已暂存状态)。
2)已修改文件的暂存操作
- 编辑已暂存态和已提交态的文件后,文件新增已修改状态。
git add file
,把文件提交至暂存区(文件处于已暂存状态)。
4、提交文件
1)提交暂存态文件git commit file
2)提交已修改态(跳过暂存态)和已暂存态文件git commit -a
1 | 1.本命令无视当前路径,它会提交`git status`里除`未跟踪态`以外的所有文件至git仓库。 |
3)git commit的常用参数
1 | git commit -a 提交本项目除未跟踪态以外的所有文件至Git仓库。 |
5、修改/删除文件
1)通过git命令操作,可根据参数修改文件工作区和暂存区的状态。
1 | 示例 |
2)非git命令操作:按序执行修改→暂存→提交操作。
6、查看历史和差异
1)查看历史 git log
1 | `git log`常用参数 |
Note:可通过gitk命令运行图形化版本查看工具。Debian系列Linux发行版可通过
sudo apt install gitk
命令进行安装。
2)查看差异 git diff
1 | `git diff` # 比较工作区和暂存区的差异 |
附:常用shell操作命令
1 | 在Linux的shell里进行命令操作时难免会输错单词,这时可通过以下几个命令快速修正 |