一、Git 工作流程

一般工作流程如下:
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git仓库。
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

二、四个工作区域

1、Workspace: 工作区,就是平时存放项目代码的地方
2、Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
3、Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
4、Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

三、文件的四种状态

1、Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add和get commit 状态变为Staged.
2、Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
3、Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
4、Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

四、Git安装

yum install git -y

五、Git初始配置

1、配置git使用用户:

git config –‐global user.name “wyf”

2、配置git使用邮箱:

git config –‐global user.email “wyf@qq.com”

3、语法高亮:

git config –‐global color.ui true

4、检查部署情况方法一:

  1. [root@gitlab ~]# git config –‐list
  2. user.name=wyf
  3. user.email=wyf@qq.com
  4. color.ui=true

5、检查部署情况方法二:

  1. [root@git ~]# cat .gitconfig
  2. [user]
  3. name = wyf
  4. email = wyf@qq.com

六、Git常用命令

1、初始化,创建版本库

git init

2、添加文件跟踪

git add .

3、由工作区提交到本地仓库

git commit -m 'first commit'

4、查看git的状态

git status

5、提交至远程仓库流程

  1. git clone git@172.1.1.11:gitlab-instance-c4c6e366/monitoring.git
  2. cd monitoring
  3. touch README.md
  4. git add README.md
  5. git commit -m "add README"
  6. git push -u origin master

6、其他常用命令

命令 命令说明
add 添加文件内容至暂存区
bisect 通过二分查找定位引入 bug 的变更
branch 列出、创建或删除分支
checkout 检出一个分支或路径到工作区
clone 克隆一个版本库到一个新目录
commit 记录变更到版本库
diff 显示提交之间、提交和工作区之间等的差异
fetch 从另外一个版本库下载对象和引用
grep 输出和模式匹配的行
init 创建一个空的
Git 版本库或重新初始化一个已存在的版本库
log 显示提交日志
merge 合并两个或更多开发历史
mv 移动或重命名一个文件、目录或符号链接
pull 获取并合并另外的版本库或一个本地分支
push 更新远程引用和相关的对象
rebase 本地提交转移至更新后的上游分支中
reset 重置当前HEAD到指定状态
rm 从工作区和索引中删除文件
show 显示各种类型的对象
status 显示工作区状态
tag 创建、列出、删除或校验一个GPG签名的 tag 对象