git - 远程开发者和大师的最佳 git 实践
问题描述
远程,我有两个分支:dev 和 master。
我实现了 3 个功能(功能 A、B、C)并为每个功能设置了本地分支。然后我将这 3 个特性一一合并到 dev 分支中。有一天,我想发布我的更改,所以我使用 squash 合并将 dev 合并到 master。现在远程主机具有功能 A、B 和 C。
然后,我实现了一个 Feature D 并从本地 Feature D 分支合并到 dev。我通过发送拉取请求将开发人员合并到主服务器。但是,我发现功能 A、B、C 的提交也显示在此拉取请求中。这非常令人困惑,但我在这里找到了答案来解释它:Github "Squash and Merge" - 随后的拉取请求显示所有以前 的更改其中提到最佳实践是在合并后删除一个分支。但是,我无法删除 dev 分支。我想知道在我的案例中有两个远程分支的最佳实践是什么?通过忽略拉取请求中的重复提交,我将 dev 与 Feature D 合并到 master 中是否合理?
解决方案
你有功能分支,一个dev
分支和一个master
分支。所以看起来你的工作流程很像Git-Flow——一个成功的 Git 分支模型——除了dev
vsdevelop
不匹配和没有release
分支。
Gitflow 和类似的分支模型在实际合并之间传输更改-而不是像您的情况那样使用develop
壁球合并。Git 将 squash 合并视为一个新的提交——它不会跟踪您合并两行工作(和)的信息。真正的合并正是进行这种跟踪。如果您使用真正的合并,那么 git 可以推断出这一点,并且已经合并并将它们留在拉取请求中。master
master
develop
A
B
C
D
推荐阅读
- laravel - 模型 > whereHas > 多连接 > 跨数据库 | 不工作
- mysql - Bash script for reads from csv and use it in mysql query
- javascript - Internet Explorer 11 onclick triggered only if scripting is allowed in Internet Zone
- mysql - How to convert a sql query to laravel queryBuilder
- c# - Passing a value of more than one type to a method parameter?
- python - How to make the search function work when the file is inside a model which is inside of another model
- git - 如何将分支与部分重新设置并强制推送的 master 合并?
- google-cloud-platform - GCP - how to add alert on number of messages sent to a pubsub dead letter queue?
- python - Python将名称与缺失值结合起来
- sql-server - Is it possible to load two flat files with different columns, perform calculations on the data, and then upload one data set to the database?