更改紧随其后的叉子的自述文件

问题描述 投票:0回答:0

我对 Git 有点陌生,我想我几乎找到了解决方案,但有些事情我不喜欢它。

我想更改我密切关注的叉子的

README.md
文件(只是一些额外的文件,最肯定NOT被合并到上游)以便我的叉子的用户可以得到如何使用的说明我的叉子为此,我想我想从上游拉取而忽略上游的一些文件,例如
README.md
。我还想自动执行此过程,因为我会经常从上游拉取数据,而上游可能会大量更改
README.md
文件。

我读过这个答案但我不满意,因为它似乎引入了无用的合并提交。

这是我想出的(未经测试):

# upstream remote might not be configured
UPSTREAM="https://github.com/someone/repo.git"

# .gitkeep has all the file globs I want to ignore from upstream
xargs -a .gitkeep -d'\n' git stash push

git fetch "$UPSTREAM" master
git merge --no-ff --no-commit -X theirs FETCH_HEAD
xargs -a .gitkeep -d'\n' git reset
git commit -m "Useless merge commit? :("

git stash pop

有没有更好的方法可以得到我想要的东西?或者我能以某种方式摆脱无用的合并提交吗?


具体来说,我想 fork void-packages 存储库,它包含 Void Linux 包存储库中每个包的构建说明,以添加我自己的包,这些包不能被主存储库接受。我计划使用 Github Actions 构建包并分发它们,因此我想添加易于发现的说明,说明用户如何为自己添加此自定义包存储库。

我不想使用 Nix,因为 #9145(除非有一个很好的方法可以使用 NixGL 启动所有 GUI 应用程序),而且我不能使用 Flatpak,因为不是我想使用的所有软件可用于 Flatpak。

我意识到我的具体问题可能看起来有点愚蠢,但我仍然认为能够在“忽略”来自上游的一些文件而没有无用的合并提交的情况下分叉一个项目通常是好的。

git github git-fork
© www.soinside.com 2019 - 2024. All rights reserved.