gpt4 book ai didi

Git子树推送总是失败

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

尝试使用 git subtree 跨多个项目共享公共(public)库文件。这是我一直遇到的问题。

1) 添加子树,以便我的项目的“lib”子目录来自 lib-dk 存储库。

$ git subtree add --prefix=lib --squash git@bitbucket.org:dwknight/lib-dk.git master

2) 修改“lib”中的文件

3) 提交对主要项目 repo 的更改

$ git commit -am "update project"

4) 将更新推送到主项目仓库

$ git push origin master

5) 将“lib”中的更改推送回“lib-dk”存储库

$ git subtree push --prefix=lib git@bitbucket.org:dwknight/lib-dk.git master
git push using: git@bitbucket.org:dwknight/lib-dk.git master
To git@bitbucket.org:dwknight/lib-dk.git
! [rejected] f455c24a79447c6e3fe1690f5709357b7f96828a -> master (non-fast-forward)
error: failed to push some refs to 'git@bitbucket.org:dwknight/lib-dk.git'
hint: Updates were rejected because the tip of your current branch is behind its remote counterpart. Merge the remote changes (e.g. 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

6) 即使 lib-dk 存储库中没有任何更改,我也会收到此拒绝。当我尝试 pull 时,它就像有东西一样,但我可以通过 pull 进行更新。仍然推送继续被拒绝。

最佳答案

当我在 git subtree add 没有 --squash 选项的情况下尝试此操作时,它起作用了。我认为,正如评论者所建议的那样,--squash 正在以一种无益的方式摆弄历史。

关于Git子树推送总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14806428/

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