Git基础
Git
Git的工作流程
Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS),分为两种类型的仓库:
本地仓库和远程仓库
★工作流程如下:
1.从远程仓库中克隆或拉取代码到本地仓库(clone/pull)
2.从本地进行代码修改
3.在提交前先将代码提交到暂存区(add)
4.提交到本地仓库,本地仓库中保存修改的各个历史版本(commit)
5.修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库(push)
初始化Git仓库
- git init 初始化一个git仓库(会在里面生成一个隐藏文件.git/)
常用命令
-
git add 文件名/通配符(git add . 是添加所有)
-
git commit -m '注释内容'(将暂存区的内容提交到本地仓库,没有注释也行)
-
git log [option]查看提交记录
-
git status 查看修改的状态(看看是否提交了)
-
git reset --hard commitID 版本切换(commitID 可以使用git log查看)
-
git branch 查看分支
-
git branch 分支名:创建分支
-
git checkout 分支名:切换分支(分支先要创建)
-
git checkout 分支名 -b:切换分支(分支不需要提前创建,即创建并切换)
-
git merge 分支名:合并分支
- 例子:我当前在master分支上,若我执行git merge ABC,其含义是,将ABC分支合并到master分支上(即,将ABC分支中的新东西更新到master分支中去)
-
git branch -d 分支名:删除分支,需要做检查(注意不能站在要删除的分支上进行删除操作)。
-
git branch -D 分支名:强制删除分支。
解决“合并冲突”
当两个分支上对同一个文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要解决冲突。步骤如下:
- 处理文件中冲突的地方(解决方式:在提交之后,git会提示merge失败,那我们就手动再去改一次文件,再次提交就行了)
- 解决后将文件加入暂存区(add指令)
- 提交到仓库(commit)
分支的使用原则
几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。
- master分支:用于生产、发布的
- develop分支:用于开发
- feature分支:是从develop分支上分出来的,一般用于同期并行开发,开发完成后需要合并到develop分支中,然后feature自身就可以删掉了。
- hotfix分支:是从master上分出来的,一般作为线上bug修复,修复完成后需要合并到master、test、develop分支。
- 其他分支:如test分支,用于测试。pre分支,用于预上线。
远程推送
- git remote add 远端名称 仓库地址:用于将本地仓库与远端仓库进行连接
- git push 本地分支名:远端分支名 用于推送到远端仓库
克隆
- git clone 仓库地址
抓取
- git fetch [remote name] [branch name]:将远端仓库中的更新都抓取到本地,但不会进行合并操作。
拉取
- git pull [remote name] [branch name]:将远端仓库中的修改拉取到本地,并自动进行合并操作,相当于执行了抓取+合并。
需要注意的事情
- 切换分支之前,先要提交本地的修改,防止修改丢失!!!
- 代码及时提交。