git 如果将本地分支合并到主分支,远程历史记录会发生什么情况

bnl4lu3b  于 2023-02-07  发布在  Git
关注(0)|答案(3)|浏览(270)

我有一个远程分支(main),还有两个本地分支(main和my_feature)。
我正在处理“my_feature”分支,当我完成时,我想将其合并到“master”中。
对于其他没有“my_feature”分支的开发者来说,远程“main”历史记录会发生什么变化?他们会看到我的本地分支吗?

siotufzp

siotufzp1#

当您将本地“my_feature”分支合并到本地“master”分支中,然后将更新后的“master”分支推送到远程“main”时,其他拉过“main”分支的开发人员将看不到您的本地“my_feature”分支,相反,他们将只看到在“my_feature”中所做的更改,作为“main”分支的新历史记录的一部分。您的本地“my_feature”分支仍将存在于您的计算机上,但不会反映在远程资源库或其他开发人员的计算机上。

osh3o9ms

osh3o9ms2#

其他用户不会看到您的本地my_feature分支,除非您显式地将其推送到远程存储库。
一旦my_feature被合并到main中,main将被推送到远程repo,其他用户将看到my_feature的提交历史记录,作为main-branch提交历史记录的一部分。
作为一个不必要的建议,考虑一个由你和仓库的其他用户同意的分支/PR审查策略。在我自己的经验中,没有审查的代码,单独工作和没有测试的开发人员最终是非常痛苦的(无论是代码还是开发人员的增长)

uemypmqf

uemypmqf3#

对你的问题的快速而严格的回答是:如果你合并了一个本地分支,除非你推送它,否则远程历史不会发生任何变化。
git和其他源代码控制系统的主要区别之一是你的开发者可以决定其他人是否可以看到你的修改。你有本地和远程版本控制。如果你把你的分支my_feature合并到你的本地分支main/master中,其他开发者永远看不到你的修改,除非你推送(发表)这些变化。如果你的目标是试验某样东西,你不需要强迫别人,也不需要和别人分享这些变化。如果实验出错,您仍然可以将main的个人本地副本重置回remotes/origin/main。如果您决定要发布更改,其他开发者会看到和你本地提交一样的提交。2合并通常(有一些选项,如--no-ff,不会)生成一个合并提交,内容类似于“将分支”my_feature“合并到main”并且包含所有常见的提交信息,如作者等。然而,分支my_feature只有在您显式地使用git push --set-upstream origin my_features推送它时才会发布。分支只不过是指向提交的指针(或名称)。这与其他版本控制系统相比有很大不同。
从你的问题可以看出你是git新手,我建议你阅读git官方文档,并使用https://learngitbranching.js.org/等工具学习,希望对你有所帮助。

相关问题