github 分支管理

一、远程仓库有master和dev分支
1. 克隆代码
git clone https://github.com/master-dev.git  
# 这个git路径是无效的,示例而已
2. 查看所有分支
git branch --all  
# 默认有了dev和master分支,所以会看到如下三个分支
# master[本地主分支] origin/master[远程主分支] origin/dev[远程开发分支]
# 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
# 但是origin/dev分支在本地没有任何的关联,所以我们无法在那里开发
3. 创建本地关联origin/dev的分支
git checkout dev origin/dev  
# 创建本地分支dev,并且和远程origin/dev分支关联,本地dev分支的初始代码和远程的dev分支代码一样
4. 切换到dev分支进行开发
git checkout dev  # 这个是切换到dev分支,然后就是常规的开发
5. 为了更好的理解,最好继续看看下文。

二、假设远程仓库只有mater分支
1. 克隆代码
git clone https://github.com/master-dev.git  
# 这个git路径是无效的,示例而已
2. 查看所有分支
git branch --all  
# 默认只有master分支,所以会看到如下两个分支
# master[本地主分支] origin/master[远程主分支]
# 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
3. 创建本地新的dev分支
git branch dev  # 创建本地分支
git branch  # 查看分支
# 这是会看到master和dev,而且master上会有一个星号
# 这个时候dev是一个本地分支,远程仓库不知道它的存在
# 本地分支可以不同步到远程仓库,我们可以在dev开发,然后merge到master,使用master同步代码,当然也可以同步
4. 发布dev分支
发布dev分支指的是同步dev分支的代码到远程服务器
git push origin dev:dev  # 这样远程仓库也有一个dev分支了
5. 在dev分支开发代码
git checkout dev  # 切换到dev分支进行开发
# 开发代码之后,我们有两个选择
# 第一个:如果功能开发完成了,可以合并主分支
git checkout master  # 切换到主分支
git merge dev  # 把dev分支的更改和master合并
git push  # 提交主分支代码远程
git checkout dev  # 切换到dev远程分支
git push  # 提交dev分支到远程
# 第二个:如果功能没有完成,可以直接推送
git push  # 提交到dev远程分支
# 注意:在分支切换之前最好先commit全部的改变,除非你真的知道自己在做什么
6. 删除分支
git push origin :dev  # 删除远程dev分支,危险命令哦
# 下面两条是删除本地分支
git checkout master  # 切换到master分支
git branch -d dev  # 删除本地dev分支
### 关于 GitHub 分支的使用与管理 #### 创建并使用存储库 创建新的 GitHub 存储库是项目开始的第一步。通过创建存储库,能够集中管理协作开发代码[^1]。 ```bash git init my-repo cd my-repo git remote add origin https://github.com/username/my-repo.git ``` #### 启动管理分支 启动管理分支允许开发者在同一时间处理多个特性或修复不同问题而不互相干扰。这有助于保持主干分支(通常是 `main` 或 `master`)稳定[^2]。 ```bash git checkout -b feature-branch-name ``` 此命令会切换到名为 `feature-branch-name` 的新分支上工作,在这里可以安全地进行更改而不会影响主线程的工作流。 #### 提交变更至远程仓库 当完成了一些功能或者修正了某些错误之后,可以通过提交这些变更为版本控制的一部分,并将其推送回 GitHub 上对应的分支中去。 ```bash git add . git commit -m "描述性的提交信息" git push origin feature-branch-name ``` #### 开启合并拉取请求 (Pull Request) 一旦完成了所有的修改并且已经成功上传到了自己的分支里,则可以在 GitHub 页面开启一个拉取请求(Pull Request),邀请其他成员审查代码质量以及讨论可能存在的改进空间;最终由维护者决定是否接受该提议并将之合入主要分支之中。 对于希望简化历史记录的情况,建议采用压缩(squash)的方式来进行合并操作,这样可以让每次更新只对应一个问题解决情况下的单次提交,而不是保留所有贡献者的多次提交记录[^3]。 #### 实践平台的选择 无论是选择国内的 Gitee 还是国际广泛使用的 GitHub 来实践 Git 版本控制系统都是可行的方案之一[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值