Azure数据工厂Git将Main合并为Feature

oyxsuwqo  于 2023-05-15  发布在  Git
关注(0)|答案(1)|浏览(171)

我作为一个大型团队的一部分正在使用Azure数据工厂,并遇到了管理合并的问题,这似乎没有意义。
当启动一个新特性时,我们创建一个新的分支,例如,基于'main'的'feature-001'。然后,我们只向该分支添加满足新功能所需的内容,然后向Azure DevOps Git提交PR。
有时会检测到合并冲突。解决此问题的建议是进入VSCode并通过执行以下操作来解决冲突:
克隆下repo(这会拉下最新的“main”)。
验证远程功能-001分支是否存在

git branch -r

它(显然)是:

PS G:\azure\adf\adf-arm> git branch -r
  origin/HEAD -> origin/main
  origin/feature-001
  origin/main

然后做一个:

PS G:\azure\adf\adf-arm> git switch feature-001   
Switched to a new branch 'feature-001'
Branch 'feature-001' set up to track remote branch 'feature-001' from 'origin'.

这将创建一个本地分支“feature-001”,跟踪到上游,在那里我们将解决冲突。
接下来,为了查看冲突在哪里,建议我们尝试将“main”合并到“feature-001”分支中:

git merge main

这个想法是,无论是什么阻止'feature-001'被合并到'main'中,都将与阻止'main'被合并到'feature-001'中的内容相同。通过这种方式,我们可以在VSCode中解决合并冲突,但在'feature-001'分支中ON
然后,当解决时,我们应该将固定分支推回到远程/feature-001分支。当它被推回时,Azure DevOps会检测到更改,重新评估PR,并意识到现在没有合并冲突,PR可以轻松完成。这看起来是一个明智的策略,因为它使任何混乱远离'main',并确保只有合并冲突免费(或固定)提交被合并到'main'由Azure DevOps。
我看到的问题是,当我设置好所有内容并执行时:

git merge main

我明白

G:\azure\adf\adf-arm> git merge main  
Already up to date.

这对我来说没有意义,因为很明显,我在“feature-001”中进行了更改,而“main”中没有。它们甚至没有相同的提交ID:

PS G:\azure\adf\adf-arm> git branch -vv
* feature-001 8cc623c [origin/feature-001] Adding pipeline: f001-pipeline
  main        1304c11 [origin/main] Update publish_config.json

我知道git会告诉我正确的事情,我错过了一些东西,但我看不到它是什么。有没有好心的灵魂能开导我。。拜托!

gopyfrb3

gopyfrb31#

Already up to date消息显示当你尝试合并master中已经在你的特性分支中的更改时。我可以想到两种情况下,这种情况可能发生:
1.自从你分支出你的特性分支后,master分支没有任何变化。然而,在这种情况下,您不会面临合并冲突,因此这似乎不是您的情况。
1.尚未在本地拉取master的最新更改。当你运行git merge master时,它是你操作的本地主机。如果最新的更改不是从原始主机中提取的,您将不会看到这些合并冲突。
我倾向于认为你面对的是第二个案例。在执行git merge master之前,请运行git pull以从远程获取最新的更改。

相关问题