[英]How to pull to code change to submodule using git?
我在本地机器上有两个存储库。
main-repo
sub-repo
我将 sub-repo 添加为 main-repo 中的子模块。 子仓库包含一个自述文件。
最初,我保持目录名称与 repo 名称相同。 我将 sub-repo 目录更改为 sub1。 希望这可以消除任何混乱。
main-repo
sub1
readme
如果我从 main-repo/sub-repo/readme 更改 readfile,而不是直接从 sub-repo/readme 更改。
这些是我已经完成的步骤。 由于这仅在我的本地计算机上,因此我使用此命令添加了子模块
cd main-repo
git submodule add file:///c:/Users/Worker/Git/t5-sub/sub-repo sub1
cd main-repo/sub1
git 结账主控
编辑自述文件
git 提交。
git推
cd 子仓库目录
git 状态
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: readme
当我查看自述文件的内容时,它没有变化。 如何将更改从 main-repo 拉到 sub-repo?
您不应该在第 5 点git push
因为您推送到不推荐的非裸存储库。 实际上,我希望这样的推送会出现错误,消息为"remote: error: refusing to update check out branch: refs/heads/master" 。
你应该拉它,而不是推动它:
cd sub-repo
git remote add sub ../main-repo/sub1
git pull sub master
我已经尝试过@phd 的建议。 它对我不起作用。 在玩了一会儿之后,我发现这对我有用。
cd sub-repo
git restore --staged readme
git checkout .
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.