gpt4 book ai didi

git - 对具有 git 分支的不同机器的 dotfile 管理是否合理?

转载 作者:太空狗 更新时间:2023-10-29 13:46:46 25 4
gpt4 key购买 nike

我为自己设置了一个点文件存储库,托管在远程服务器上并在不同的机器上使用。对于某些事情,我希望有单独的配置,例如环境变量因机器而异。

我想,如果有一个额外的分支用于依赖于机器的更改会很好,所以例如我有分支 server, notebook, desktop,全部基于 master,只有很少的个别更改(1 到几次提交)。现在的问题是,很明显,我想在顶部应用这些单独的更改。因此,我会更改 master 以进行常见更改,并在其上rebase 本地 desktop 分支。但是使用rebase,我不能再push到远程仓库了。显然,我想要它作为备份和同步,而且我也可能想在实际在机器 B 上工作时更改机器 A 的分支。

为每台机器维护一个分支是否合理,或者是否有更好的解决方案?我如何能够在顶部应用本地更改,就像 rebase 一样,但又不失去 push 的能力?非常感谢

最佳答案

您的多分支方法听起来很合理,并且是我在使用机器特定脚本(工作/个人)时遇到的一些问题的解决方案。

您描述的问题是您无法在执行 git rebase 后推送更改。 .

你不能推送的原因是因为git rebase改写历史。它删除您的分支特定提交,与 master 同步并重新应用顶部的提交:

enter image description here

为什么不 merge 而不是 rebase ?

通过 merge (git merge master),您不会重写历史,也不会在推送到远程时遇到问题。

我建议您阅读 this文章,它解释了 merge 和 rebasse 之间的区别。

如果你真的需要/想要 rebase ,你必须通过运行 git push --force <remote_name> <branch_name> 强制将你的更改推送到你的远程。

关于git - 对具有 git 分支的不同机器的 dotfile 管理是否合理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36932400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com