有没有办法让git自动管理分支之间的共享/同步特定文件?例如:如果我有两个分支: branch1和master,并且我在branch1上更改/提交file1,它会自动在master上用相同的内容更新/提交file1 (反之亦然)。本质上,我希望某一组文件在两个分支中始终保持同步。
我已经查看了git子模块,但是我希望保持同步的文件位于不同的位置(它是项目中的大多数文件)。我是git的新手,还不能完全掌握git subtree的功能。git子树允许我需要的东西吗?(如果是这样,我可以花时间学习它)
我能想到的另一种选择是创建一个使用git-cherry-pick或checkout --patch来保持文件同步的脚本。如果我要走这条路,选择樱桃还是补丁更好?
发布于 2013-11-21 04:27:19
Git不适用于每个文件。它与完整存储库上的补丁一起工作。
您可以将此文件中的更改作为仅包含该文件的补丁提交,然后在其他分支中对其进行cherrypick,反之亦然。这可以作为一个脚本来完成。或者更复杂的post commit挂钩。
但是当第一次更改触及另一个文件中的功能时,或者如果您在这样的同步补丁中提交多个文件,您将会一团糟。
手动保持同步会给你带来更多的舒适感和品味,但也需要一些分界线。
https://stackoverflow.com/questions/20105805
复制相似问题