Git
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。-- 百度百科
说明:
workspace: 工作区
stage(index):缓存区/暂存区
local repository:版本库或本地仓库
remote repository:远程仓库
Git基本操作
git clone <仓库地址>
拷贝一个Git仓库到本地
git branch
用于查看本地仓库分支和远程仓库分支
git remote add [shortname] [url]
添加远程版本库 shortname别名,一般是origin
git remote -v
查看远程库信息
git fetch
用于从远程获取代码库 / 更新远程仓库
git checkout <本地分支名>
切换本地分支
git checkout -b <分支名> [远程分支]
创建且关联到远程分支,并切换分支
git pull <本地分支名>
用于从远程获取代码并合并本地的版本
git add .
添加当前目录下的所有文件到暂存区
git commit -m [message]
将暂存区内容添加到本地仓库中
git push <远程仓库名> <本地分支名>|<远程分支名>
用于将本地的分版本上传到远程并合并
<远程仓库名>:在本地仓库中对远程仓库起的别名
注意:<远程分支名>与 <远程仓库名>的情况不同:
(i)<远程分支名>的取名由git push中的远程分支名决定,一般Git使用者会省略<远程分支名>这个参数,所以Git会默认把<本地分支名>设置为<远程分支名>;
(ii)<本地分支名>无论在远程仓库还是本地仓库就只有一个名字,不像<远程分支名>有一个绝对URL地址名字和一个在本地仓库中的别名。
git merge <合并分支名>
项目中使用的Git场景
- 需求开发前的分支拉取流程?
- 需求开发后的分支合并流程?
git merge <合并分支名>
- 分支合并出现冲突如何解决?
冲突解决前,需沟通
- 出现线上问题时hotfix分支的操作流程?
- git checkout -b hotfix-wang-0903
修复bug
- git add .
- git commit -m [message]
- git push origin hotfix-wang-0903
- git checkout master
- git merge hotfix-wang-0903