一、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安装
五、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、检查部署情况方法一:
[root@gitlab ~]# git config –‐list
user.name=wyf
user.email=wyf@qq.com
color.ui=true
5、检查部署情况方法二:
[root@git ~]# cat .gitconfig
[user]
name = wyf
email = wyf@qq.com
六、Git常用命令
1、初始化,创建版本库
2、添加文件跟踪
3、由工作区提交到本地仓库
4、查看git的状态
5、提交至远程仓库流程
git clone git@172.1.1.11:gitlab-instance-c4c6e366/monitoring.git
cd monitoring
touch README.md
git add README.md
git commit -m "add README"
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 对象 |