Git工作机制
区域:
- 工作区:本地代码,项目在磁盘上的位置,通过git add添加至暂存区;
- 暂存区:暂时存放,git add 以后的临时存放位置 必须先add,再通过git commit提交至本地库;
- 版本库:历史记录,通过git push推送至远程库,记录已经在本地库生成了 你干了什么坏事 这上面都会写着 无法撤销 除非删除整个项目
对象:
- Git 对象:一个 Git 对象就是文件的一个快照
- 树对象:一个树对象就是项目的一个快照
- 提交对象:一个提交对象就是项目的一个版本
Git常用代码:
//初始化类:
git config --global user.name 用户名:设置用户名;
git config --global user.email 邮箱:设置邮箱;
git init:初始化本地仓库;
//查看类:
git status:查看本地库状态;
git diff:查看变更内容;
git log:查看提交历史;
git clone '远端地址':克隆;
git reflog:查看历史记录;
git reset --hard 版本号:版本穿梭;
git remote –v:查看远程仓库;
git branch -r:查看远程分支;
//本地仓库类:
git fetch:更新本地仓库;
//分支类:
git checkout 分支名:切换分支;
git branch 分支名:创建分支;
git checkout -b 分支名:创建分支并立即切换到新分支;
git branch -d 分支名:删除分支(-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项);
//版本类
git tag 版本名:创建版本(打标签);
git tag -d 版本名:删除版本;
git tag –r:查看远程版本;
git push --tags:上传所有标签;
//日常提交代码流程
git pull 远程库地址别名 远程分支名:将远程仓库对于分支最新内容拉下来后与本地分支合并;
git add . :跟踪所有改动过的文件,添加到暂存区;
git commit -m '备注信息':提交到本地仓库并备注信息;
git push:推送本地分支上的内容到远程仓库;
合并分支
需求:将dev分支合并到master分支上:
1.git checkout master:切换master分支;
2.git pull origin master:将远程master的代码pull到本地;
3.git merge dev:将dev分支合并到当前master分支上;
4.git push origin master:将代码push到远程master分支;
git clone和git pull区别
- git clone:是在本地没有版本库的时候,从远程服务器克隆整个版本库到本地,是一个本地从无到有的过程。
- git pull:在本地有版本库的情况下,从远程库获取最新commit 数据(如果有的话),并merge(合并)到本地。git pull = git fetch + git merge。