使用TFS作为源代码控制,我有一个父分支名称QA,2个分支dev1和dev2位于QA下方。
dev1[ with changes] \ QA [ don't want to chek-in until all tests have been done ] / dev2 [ target branche ]
将一个项目的更改从 dev1 合并到 dev2 而不检查 QA 中的更改的最佳方法是什么。
我想从 dev1 合并到 QA,然后从 QA 合并到 dev2,但是如果我不签入 TFS 中的更改,我会得到:
源代码管理合并向导
没有任何需要合并的更改。
那么我真的需要签入 QA 中的更改,然后合并到 dev2 并回滚吗?
有更好的方法吗?也许可以搁置?或者回滚是这种情况下的最佳实践?
如果我使用 Git 有可能吗?
查看 Terje Sandstrøm 撰写的 这篇文章,看看选项“
Commit changes after merging
”是否可用。
如果是,您无需签入对
QA
的更改即可将其合并到 dev2
中:您可以右键单击 dev1
并选择 Branching and Merging > Merge...
,其中 dev1
作为源分支, QA
作为目标分支。 (合并类型:Latest Version
)。取消选中 Commit changes after merging
选项。
解决所有冲突后,以相同方式将
QA
合并到 dev2
:dev1
中的更改现在应该在 dev2
中:查看并签入它们。QA
合并到 dev2
时,TFS 应使用工作区中的更改,而不仅仅是最新签入的版本。
如果您使用 Git,这会简单得多。您可以直接将
dev1
合并到 dev2
。
git switch dev2
git merge dev1