简易Git工作流
- myname: 团队成员个人分支
- dev: 团队公共分支
个人独立分支开发
- 同步最新的【dev公共分支】到本地。【重要】
- 基于最新的【dev公共分支】,创建【个人功能开发分支】。在此基础上开发。
- 【个人功能开发分支】开发完成,推送到远程库。
- 如果【个人功能开发分支】已被合并到【dev公共分支】,必须删除。【重要】
命令行示例:
# 拉取最新的dev分支到本地
git pull origin dev
# 在现有的dev分支上,创建自己本地的开发分支。并切换过去。
git checkout -b myname
# 本地开发,在自己本地仓库的开发分支中,保存开发进度。
git add .
git commit -m "UPDATE SOMETHING"
# 推送自己的分支到远程仓库,并提交分支合并请求
git push origin myname
# 切换到本地dev分支。使用git checkout dev 或 git switch dev
git checkout dev
# 删除自己的本地分支
git branch -d myname
注意:
- 【个人工作分支】合并到公共分支,有小功能完成,
没明显BUG,就可以合并
。比如一个表单页面。 - 每次创建【个人工作分支】,都是基于最新的【dev公共分支】。
- 为保证第2点,每次线上仓库合并成功后,当前的【个人工作分支】必须删掉。
团队公共分支合并
# 拉取远程主分支和成员的个人分支
git pull origin dev
git pull origin myname
# 保证现有分支为公共分支。查看分支和切换分支命令如下:
# git branch
# git checkout dev 或者 git switch dev
git branch
git switch dev
# 合并个人分支到团队的公共分支中
git merge myname
# 测试公共是否正常,有代码冲突就解决冲突,然后推送到远程库
git push origin dev
# 删除成员的个人分支
git branch -d myname
常见分支操作
# 删除名为myname的远程分支
git push origin --delete myname
# 先切换到其他分支,然后删除本地myname分支
git switch dev
git branch -d myname
查看
# 查看提交状态
git status
克隆仓库
# 克隆包含仓库的全部提交历史
git clone https://github.com/odoo/odoo.git
# 克隆仓库包含最近3次提交历史
git clone --depth 3 -b 17.0 --single-branch https://github.com/odoo/odoo.git odoo17
参数说明:
--depth 3
: 只克隆最近提交的3条记录到本地。-b 17.0 --single-branch
: 只拉取分支17.0
拉取仓库
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin master:master
# 简写
git pull
推送仓库
git push
git push origin master:master
新建和切换分支
- https://git-scm.com/docs/git-branch/zh_HANS-CN
- https://git-scm.com/docs/git-switch/zh_HANS-CN
# 创建全新的空白分支 git version < 2.23
git checkout --orphan <branch>
# 创建全新的空白分支 git version >= 2.23
git switch --orphan <new_branch_name>
远程库增删改查
git remote add <远程库名> <远程库地址>
git remote remove <远程库名>
git remote rename <原远程库名> <新远程库名>
git remote set-url <远程库名> <远程库地址>
# 查看所有远程库信息
git remote -v
git 创建空分支 https://blog.csdn.net/linyichao1314/article/details/136956650
Git 实用技巧2——新建空白分支 | 重命名分支 | 回退到历史 commit https://blog.csdn.net/m0_49270962/article/details/137759940