gpt4 book ai didi

eclipse - 了解 Eclipse 中的 git/eGit 推/pull 行为

转载 作者:太空狗 更新时间:2023-10-29 14:20:21 24 4
gpt4 key购买 nike

假设存在两个远程存储库 checkout 。当从第一个本地存储库在 eGit 中进行提交/推送,然后从第二个本地存储库中进行 pull 时,eGit 会显示一个对话框,确认正在 pull 的提交,但在编辑器中,已更改文件的内容不会更新。

我的理解是 git pull 也进行 merge ,因此工作目录中的文件应该被更新。这是不正确的吗?我需要在 Eclipse eGit 中执行哪些额外步骤才能更新文件内容。

最佳答案

我将此问题视为无效问题,因为我认为这是由于第二个本地存储库的远程跟踪配置错误所致。修复后,文件内容会按预期在 pull 后更新。感谢大家的意见。

但是双方的获取/推送规范都没有问题,远程跟踪是不正确的,即在 .git/config 中的 [branch "my_branch"] 部分我得到了错误的 merge 第二个本地仓库的规范,这就是为什么 pull 没有与我预期的本地分支 merge 。


关于问题和修复的更多细节:就像我说的,获取和推送规范没问题,但是当我在第二台机器上设置本地分支和它们的跟踪时,我一定是犯了一个错误。如果是第一台机器,它是正确的。在 .git/config 我看到了

[branch "master"]
remote = origin
merge = refs/heads/master
[branch "1.3.0"]
remote = origin
merge = refs/heads/1.3.0
[branch "1.3.0-devel"]
remote = origin
merge = refs/heads/1.3.0-devel

但是,在第二台机器上,我可能错误地输入了创建分支和设置跟踪的命令,所以在 git branch -t my_branch_1 origin/my_branch_1 中重复了一些我想要的分支跟踪具有相同名称的远程分支,分支名称不匹配所以我最终得到了这样的配置

[branch "master"]
remote = origin
merge = refs/heads/1.3.0-devel
[branch "1.3.0"]
remote = origin
merge = refs/heads/master
[branch "1.3.0-devel"]
remote = origin
merge = refs/heads/1.3.0

我在问题中提到的事务发生在 1.3.0-devel 分支上:我从第一台机器提交并推送到 origin/1.3.0-devel,但是因为第二台 1.3.0-devel 没有跟踪 origin/1.3.0-devel,pull 没有与当前 checkout 的 1.3.0-devel 本地分支 merge 。

我通过发出命令 git branch --set-upstream 1.3.0-devel origin/1.3.0-devel 并为所有其他分支重复此命令来修复此问题。 (注意,这是针对 git 版本 1.7.x。对于 1.8.x,它是 different )

关于eclipse - 了解 Eclipse 中的 git/eGit 推/pull 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15200722/

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