git 删除git远程分支_Git功能分支的初学者指南

git 删除git远程分支

为什么选择Git

专有软件使版本控制系统(VCS)符合其要求:

  1. 该项目有严格的发布时间表
  2. 团队并置
  3. 冲刺的目标是明确定义的,重点是有限的故事
  4. 分支通常保留用于发布或有风险的开发功能
  5. 集中式服务器对外界隐藏

在这种情况下,出现了集中式版本控制系统(例如Subversion ),但这不适用于开源项目,因为:

  1. 发行不受截止日期的限制
  2. 贡献者可能分散在全球各地
  3. 欢迎新想法,即使是激进或耗时的
  4. 随着开发人员致力于功能而非冲刺,分支变得必不可少
  5. 该代码可供全世界使用

Git是软件开发精神的精髓。 如果可用工具不适合您的用例,则可以构建自己的工具。 Git是一个分布式版本控制系统(DVCS),用于解决开放源代码开发与经典VCS之间的阻抗不匹配问题。

使用Subversion时,像Tortoise SVN这样的用户界面已绰绰有余 ,而且我很少需要使用Subversion命令行。 基于主干的开发风格简化了版本控制过程,这就是UI可以处理它的原因。

Git提供了多种工作流程样式供您选择。 您仍然可以使用主干基础开发样式(我将其用于管理此博客源代码示例),但是如果您打算为其他开源项目做出贡献,则必须熟悉功能分支。

为什么要分支

Git使分支成为一种商品,并且每个功能都可以在单独的分支中开发。 这是合乎需要的,因为合并过程可能不受您的控制。 如果您在默认默认分支上进行开发,并且给定的提交功能被推迟,则在开始使用完全不同的功能之前,必须先还原所做的更改。 功能分支使您可以隔离更改并简化合并过程。 但是一旦开始使用功能分支,您就会意识到命令行不再是可选的。 为了正确理解Git并成功使用它,建议先掌握其命令。

功能分支示例

我决定将度量支持添加到Bitronix事务管理器中 ,因此第一步是创建一个新的度量分支。

首先,我必须检查我当前的分支。

D:\wrk\vladmihalcea\btm>git branch
* master

我只有默认的master分支,所以让我们创建一个新分支,我的更改将进入该分支。

D:\wrk\vladmihalcea\btm>git checkout -b metrics
Switched to a new branch 'metrics'

前面的命令有两件事:

  • 它创建一个新的本地指标分支
  • 它将工作文件夹切换为引用新创建的分支

我们可以看到当前分支引用已更改:

D:\wrk\vladmihalcea\btm>git branch
  master
* metrics

通常,您会进行多次提交,直到对最终版本满意为止,但是为了简化合并过程,您必须将提交压缩为一个看起来像这样的单个提交:

commit f75838a7cf8cfdb9ceeb364a0f0faae24642d39e
Author: vladmihalcea <mih_vlad@yahoo.com>
Date:   Thu Jan 23 11:57:16 2014 +0200

    add metrics support (Codahale)

    add PoolingDataSource connection wait time histogram

    add PoolingDataSource in-use connections histrogram

以前的所有更改仅适用于我的本地存储库,因此我需要使它们对外界可用。 此过程称为远程分支 ,您可以按照以下步骤进行操作:

D:\wrk\vladmihalcea\btm>git push --set-upstream origin metrics
Username for 'https://github.com': vladmihalcea
Password for 'https://vladmihalcea@github.com':
Counting objects: 56, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (32/32), done.
Writing objects: 100% (34/34), 7.64 KiB | 0 bytes/s, done.
Total 34 (delta 15), reused 0 (delta 0)
To https://github.com/vladmihalcea/btm.git
 * [new branch]      metrics -> metrics
Branch metrics set up to track remote branch metrics from origin.

从本地指标分支推送的所有更改现在都将转到远程指标分支。

D:\wrk\vladmihalcea\btm>git push
Username for 'https://github.com': vladmihalcea
Password for 'https://vladmihalcea@github.com':
Everything up-to-date

让我们去GitHub看看结果:

btm-metrics-github

要将我的贡献通知产品负责人,我们需要发送拉取请求:

btm-metrics-pull-request

产品负责人可以查看更改并决定是否以及何时将其合并到主分支。 在审核过程中,产品负责人可能会在合并分支机构之前要求进行其他更改,因此您需要:

  1. 向本地指标分支提交新更改
  2. 重新压缩提交到单个提交
  3. 强制推送到您的远程分支(例如git push -f)

根据经验,发布更改后通常不会重写提交历史记录。 这可能会影响其他使用您的分支机构作为其工作起点的贡献者。 但是,您的功能分支不打算由产品所有者以外的其他贡献者使用,产品所有者只会在准备就绪时将其合并。

有关Git的更多信息,您可以查看免费的在线Pro Git书籍或本精巧的精简指南

参考:来自GCG 合作伙伴 Vlad Mihalcea的Vlad Mihalcea博客博客提供了有关Git功能的入门指南

翻译自: https://www.javacodegeeks.com/2014/02/a-beginners-guide-to-git-feature-branches.html

git 删除git远程分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值