GitLab使用笔记

一、Gitflow分支

master
主分支 , 产品的功能全部实现后 , 最终在master分支对外发布
该分支为只读唯一分支 , 只能从其他分支(release/hotfix)合并 , 不能在此分支修改
另外所有在master分支的推送应该打标签做记录,方便追溯
例如release合并到master , 或hotfix合并到master

develop
主开发分支 , 基于master分支克隆
包含所有要发布到下一个release的代码
该分支为只读唯一分支 , 只能从其他分支合并
feature功能分支完成 , 合并到develop(不推送)
develop拉取release分支 , 提测
release/hotfix 分支上线完毕 , 合并到develop并推送

feature
功能开发分支 , 基于develop分支克隆 , 主要用于新需求新功能的开发
功能开发完毕后合到develop分支(未正式上线之前不推送到远程中央仓库!!!)
feature分支可同时存在多个 , 用于团队中多个功能同时开发 , 属于临时分支 , 功能完成后可选删除

release
测试分支 , 基于feature分支合并到develop之后 , 从develop分支克隆
主要用于提交给测试人员进行功能测试 , 测试过程中发现的BUG在本分支进行修复 , 修复完成上线后合并到develop/master分支并推送(完成功能) , 打Tag
属于临时分支 , 功能上线后可选删除

hotfix
补丁分支 , 基于master分支克隆 , 主要用于对线上的版本进行BUG修复
修复完毕后合并到develop/master分支并推送 , 打Tag
属于临时分支 , 补丁修复上线后可选删除
所有hotfix分支的修改会进入到下一个release

二、Git命令

0.git remote add origin 仓库地址

1.git status

查看状态

2.git add

把要提交的所有修改放到暂存区(Stage)

添加文件夹下的所有文件
git add .
git add *

添加某个文件或者某个文件夹中的某个文件到暂存区 
git add index/index.html

3.git commit

一次性把暂存区的所有修改提交到分支

git commit -m "注释说明"
 
# 注释的作用是告诉下载和浏览的用户你这次提交代码所改变的地方,如 初始化仓库
常用参数

# 将暂存区内容提交到版本库, 进入 vi 命令界面输入提交信息
git commit

# 将某些已被跟踪的文件提交到版本库(包含工作区和版本库)
git commit [file1] [file2] [...]

# 将暂存区内容提交到版本库, 无需进入 vi 命令界面输入提交信息
git commit -m [message]

# 跳过 git add, 将所有已被跟踪的文件更改提交到版本库
git commit -am [message]

# 使用一次新的commit, 替代上一次提交
# 如果代码没有任何新变化, 则用来改写上一次commit的提交信息
git commit --amend -m [message]

4.git diff

查看修改内容

# 查看工作区和暂存区文件差异
git diff
# 查看工作区和版本库文件差异
git diff HEAD
# 查看暂存区和版本库文件差异
git diff --cached

5.git clone

克隆git代码库

1远端复制项目地址

2.在Bash里输入:git clone 地址

只克隆一个特定分支
git clone -b 分支名 --single-branch <repository URL>

6.git branch

查看分支,标*为当前分支

查看所有分支
git branch -a

7.git checkout

切换分支

# 切换分支
git checkout <branch>
# 创建并切换到新分支
git checkout -b <branch>

8.git push

从本地推送分支

git push -u origin master

git push <远程主机名> <本地分支名>:<远程分支名>

将本地的dev分支上的代码推送到远程主机名为origin中test的分支上
git push origin dev:test

如果本地分支名和远程分支名一样的情况下,可以省略:<远程分支名>
git push origin dev

在正常的开发中,远程主机只有一个,为所克隆的远程项目的主机
git push

只有将修改后的代码commit到本地仓库,才能使用push命令推送到远程指定的主机中

http://t.csdnimg.cn/KePzp

9.git pull

抓取远程的新提交

git pull --rebase origin master 

有权限的仓库 本地无代码

  • git pull
  • git clone

有权限的仓库 本地有代码

  • git pull

无权限的仓库 本地无代码

  • git clone

无权限的仓库 本地有代码

  • 删了重新下

换个说法

  • git pull:必须连接远程仓库才能用。可以用于下载完整代码更新本地代码。
  • git clone:只要你想往本地下远程仓库完整的代码就可以用,不用连接远程仓库(连接了也可以)。 不适用于更新本地代码。

git remote -v用于显示当前本地仓库连接的远程仓库,可以连接好几个。然后一个仓库是成对存在的,一个上传一个下拉。前边origin一般称为远程仓库代称,后边的是连接方式

http://t.csdnimg.cn/usKux

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值