在日常工作中,经常会用到Git操作,但对于新人来说,刚接触Git,对于Git还是很陌生,操作起来也很懵逼,那么这篇文章就帮助大家,理解Git基本原理和工作流程。
一、Git的工作流程
在学习工作流程之前,先来学习几个专业术语:
工作区(workspace):就是我们当前看到的目录,也是程序员可以改动代码的地方。在开发过程中就是对工作去的操作。
暂存区(index/stage):就是.git目录下的index文件,暂存区会记录git add的相关信息,不保存文件实体,通过id指向每个文件实体。暂存区标记了当前工作区中,哪些内容是被Git管理的。相当于提交代码,解决冲突的中转站。
本地仓库(repository):保存了对象被提交过的各个版本。git commit后同步index的目录树到本地仓库。
远程仓库(remote repository):远程仓库的内容可能被分布在多个地点,相当于保存我们代码的服务器。与本地仓库可能同步,也可能不同步。
操作流程主要是两个部分:
1、提交代码到远程仓库
工作区---git add--->暂存区---git commit---->本地仓库-----git push ---->远程仓库
2、从远程仓库克隆
远程仓库-----git clone---->本地仓库(工作区与之同步)
下面这幅图,更清晰的描述了四个区域的关系
二、Git常用命令
git add ./ 添加当前目录的所有文件到暂存区
git add 文件夹名/ 添加指定文件夹的文件到暂存区
git add 文件名 添加该指定文件到暂存区
git commit -m "注释信息" 提交暂存区到本地仓库
git commit 文件名 -m "注释信息" 提交暂存区指定文件到本地仓库
git branch 分支名称 新建一个分支
git branch 列出所有本地分支
git branch -r 列出所有远程分支
git branch -a 列出所有本地分支和远程分支
git branch -d 分支名称 删除分支
git push origin --delete 分支名称 删除远程分支
git checkout 分支名称 切换分支
git checkout -b 分支名称 创建分支并切换到该分支
git fetch 远程仓库 合并分支前,先拉下最新代码
git merge branchname 合并分支到当前分支
git status 显示有更新的文件状态
git diff HEAD 显示工作区与当前分支commit最新文件的差异
git reflog 获取最新版本