我们应该如何干净有效地使用git分支?
我们有一个分支我们应该如何干净有效地使用git分支?,git,github,Git,Github,我们有一个分支staging,它是我们的主分支。这是部署的分支 我们有两个开发者。我们希望独立地处理功能,但在将更改推送到暂存之前,请确保兼容性 我们该怎么做 这是我认为我们可以做的 我从staging分支创建功能化身编辑 我的同事从暂存的同一个提交分支创建修复配置文件对齐。他提交了一些东西并完成了这个分支,然后将它合并回staging。他删除修复外形对齐 我想继续进行功能头像编辑,但我希望我的同事的更改存在于功能头像编辑,否则我可能会在稍后完成并合并到暂存时产生问题。(基本上,当我几乎完成功
staging
,它是我们的主分支。这是部署的分支
我们有两个开发者。我们希望独立地处理功能,但在将更改推送到暂存
之前,请确保兼容性
我们该怎么做
这是我认为我们可以做的
- 我从
分支创建staging
功能化身编辑
- 我的同事从
暂存的同一个提交分支创建
。他提交了一些东西并完成了这个分支,然后将它合并回修复配置文件对齐
。他删除staging
修复外形对齐
- 我想继续进行
,但我希望我的同事的更改存在于功能头像编辑
,否则我可能会在稍后完成并合并到功能头像编辑
时产生问题。(基本上,当我几乎完成暂存
的工作时,我想确认它是否工作正常,包括添加到功能头像编辑
中的暂存
的更改)修复配置文件对齐
- 我切换到
并执行staging
,以使同事提交最近的更改然后我做了一个git pull
基本上“移动”了git-rebase
偏离功能头像编辑
的点登台
- 我查看
,对出现在我的分支中的同事提交进行必要的修复,并合并到功能头像编辑的当前状态
。我删除暂存
功能头像编辑
A staging
| \
B | merge fix-profile-alignment into staging
C feature-avatar-edit
重设基准后:
A staging
|
B merge fix-profile-alignment into staging
\
|
C feature-avatar-edit
git-rebase
可以吗如果你想要一个线性历史,这正是应该做的 存在重复提交,因为来自重新基化提交的文件的内容不同(因为它包含来自
fix profile alignment
的更改),因此SHA
哈希不同
您可以通过以下方式将其从历史记录中删除:
至于重基,在它之后,您仍在进行
功能化身编辑
,并且分段
尚未修改。如果合并到stagging中,则应立即将stagging推到远程,以避免后面的冲突(否则必须执行git pull--rebase
以保持历史线性)。但是,您也可以定期重新设置基础,以确保您的功能与其他功能正确集成(例如,如果其他开发人员正在开发许多小功能,并定期推送至分期)。如果您想要线性历史,这正是应该采用的方法
存在重复提交,因为来自重新基化提交的文件的内容不同(因为它包含来自fix profile alignment
的更改),因此SHA
哈希不同
您可以通过以下方式将其从历史记录中删除:
至于重基,在它之后,您仍在进行功能化身编辑
,并且分段
尚未修改。如果合并到stagging中,则应立即将stagging推到远程,以避免后面的冲突(否则必须执行git pull--rebase
以保持历史线性)。但是,您也可以定期重新设置基础,以确保您的功能与其他功能正确集成(例如,如果其他开发人员正在开发许多小功能,并定期推送至分期)。如果您想要线性历史,这正是应该采用的方法
存在重复提交,因为来自重新基化提交的文件的内容不同(因为它包含来自fix profile alignment
的更改),因此SHA
哈希不同
您可以通过以下方式将其从历史记录中删除:
至于重基,在它之后,您仍在进行功能化身编辑
,并且分段
尚未修改。如果合并到stagging中,则应立即将stagging推到远程,以避免后面的冲突(否则必须执行git pull--rebase
以保持历史线性)。但是,您也可以定期重新设置基础,以确保您的功能与其他功能正确集成(例如,如果其他开发人员正在开发许多小功能,并定期推送至分期)。如果您想要线性历史,这正是应该采用的方法
存在重复提交,因为来自重新基化提交的文件的内容不同(因为它包含来自fix profile alignment
的更改),因此SHA
哈希不同
您可以通过以下方式将其从历史记录中删除:
至于重基,在它之后,您仍在进行功能化身编辑
,并且分段
尚未修改。如果合并到stagging中,则应立即将stagging推到远程,以避免后面的冲突(否则必须执行git pull--rebase
以保持历史线性)。但是,您也可以定期重新设置基址,以确保您的功能与其他功能正确集成(例如,如果其他开发人员正在开发许多小功能,并定期推送至暂存
)。我认为您的“重复”提交可能存在,因为您已推送至
--A---B---C - staging
\---D - feature - remote/feature
/---D' - feature
--A---B---C - staging
\---D - remote/feature