gpt4 book ai didi

Git 获取 : Remote keeps deleting and adding branches

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

每次我从所有远程获取时,来自另一个用户的远程不断删除并重新添加分支:

通过修剪获取:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch --prune jcaseiro
From https://my.url.com/jcaseiro/project-android
x [deleted] (none) -> jcaseiro/Sprint8/bugfix/SIMSwap-Master
x [deleted] (none) -> jcaseiro/Sprint8/bugfix/addCheckForNullLinkFragment
x [deleted] (none) -> jcaseiro/Sprint8/bugfix/fixErrorRedirectsPPEScreen
x [deleted] (none) -> jcaseiro/Sprint8/bugfix/fixNullPointerExceptionDropboxInfo
x [deleted] (none) -> jcaseiro/sprint7/bugfix/Fix_clickable_almost_there_screen
x [deleted] (none) -> jcaseiro/sprint7/bugfix/PromoTextAlbanianString
x [deleted] (none) -> jcaseiro/sprint7/bugfix/addCheckForNullLinkFragment
x [deleted] (none) -> jcaseiro/sprint7/bugfix/fixPPEErrorRedirects

* [new branch] Sprint7/bugfix/Fix_clickable_almost_there_screen -> jcaseiro/Sprint7/bugfix/Fix_clickable_almost_there_screen
* [new branch] Sprint7/bugfix/LogoutNotificationProblem -> jcaseiro/Sprint7/bugfix/LogoutNotificationProblem
* [new branch] Sprint7/bugfix/PromoTextAlbanianString -> jcaseiro/Sprint7/bugfix/PromoTextAlbanianString
* [new branch] Sprint7/bugfix/addCheckForNullLinkFragment -> jcaseiro/Sprint7/bugfix/addCheckForNullLinkFragment
* [new branch] Sprint7/bugfix/fixPPEErrorRedirects -> jcaseiro/Sprint7/bugfix/fixPPEErrorRedirects
* [new branch] Sprint7/bugfix/fixWrongBehaviorBroke -> jcaseiro/Sprint7/bugfix/fixWrongBehaviorBroke
* [new branch] Sprint7/bugfix/fixWrongBehaviorBroke1.3 -> jcaseiro/Sprint7/bugfix/fixWrongBehaviorBroke1.3
* [new branch] Sprint8/Bugfix/SIMSwap-Master -> jcaseiro/Sprint8/Bugfix/SIMSwap-Master
* [new branch] Sprint8/Bugfix/addCheckForNullLinkFragment -> jcaseiro/Sprint8/Bugfix/addCheckForNullLinkFragment
* [new branch] Sprint8/Bugfix/fixErrorRedirectsPPEScreen -> jcaseiro/Sprint8/Bugfix/fixErrorRedirectsPPEScreen
* [new branch] Sprint8/Bugfix/fixNullPointerExceptionDropboxInfo -> jcaseiro/Sprint8/Bugfix/fixNullPointerExceptionDropboxInfo

即使我删除 Remote 并再次添加它,它也会继续发生。

它只发生在这个特定的 Remote 上,但我相信我的本地 git 有问题,因为这个项目的其他开发人员没有遇到过这样的事情**。

不修剪的获取(每次):

 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch jcaseiro
From https://my.url.com/jcaseiro/project-android

* [new branch] Sprint7/bugfix/Fix_clickable_almost_there_screen -> jcaseiro/Sprint7/bugfix/Fix_clickable_almost_there_screen
* [new branch] Sprint7/bugfix/LogoutNotificationProblem -> jcaseiro/Sprint7/bugfix/LogoutNotificationProblem
* [new branch] Sprint7/bugfix/PromoTextAlbanianString -> jcaseiro/Sprint7/bugfix/PromoTextAlbanianString
* [new branch] Sprint7/bugfix/addCheckForNullLinkFragment -> jcaseiro/Sprint7/bugfix/addCheckForNullLinkFragment
* [new branch] Sprint7/bugfix/fixPPEErrorRedirects -> jcaseiro/Sprint7/bugfix/fixPPEErrorRedirects
* [new branch] Sprint7/bugfix/fixWrongBehaviorBroke -> jcaseiro/Sprint7/bugfix/fixWrongBehaviorCloudBroker
* [new branch] Sprint7/bugfix/fixWrongBehaviorBroke1.3 -> jcaseiro/Sprint7/bugfix/fixWrongBehaviorCloudBroker1.3
* [new branch] Sprint8/Bugfix/SIMSwap-Master -> jcaseiro/Sprint8/Bugfix/SIMSwap-Master
* [new branch] Sprint8/Bugfix/addCheckForNullLinkFragment -> jcaseiro/Sprint8/Bugfix/addCheckForNullLinkFragment
* [new branch] Sprint8/Bugfix/fixErrorRedirectsPPEScreen -> jcaseiro/Sprint8/Bugfix/fixErrorRedirectsPPEScreen
* [new branch] Sprint8/Bugfix/fixNullPointerExceptionDropboxInfo -> jcaseiro/Sprint8/Bugfix/fixNullPointerExceptionDropboxInfo

为了提供信息,我使用的是 SourceTree,但通过命令行执行它具有完全相同的效果。

我用谷歌搜索了很多,但没有找到答案......

最佳答案

如果您在 Windows 上使用 git,您将在以下情况下遇到问题:

  • 有多个分支仅以大小写区分,或者
  • 分支重命名为不同的案例。

查看您的存储库的 .git/refs/remotes/ 以了解发生了什么。将其与 git ls-remote 进行比较。最好不要直接接触那些 .git 文件,而是使用 git 命令来操作它们,这样就不会破坏本地存储库。

如果分支已重命名为不同的案例,那么您需要清理您的 git 引用,例如

git update-ref -d Sprint8/Bugfix/SIMSwap-Master

您应该对每个分支重复上述操作,并在每次提取时重新创建。如果文件夹的大小写发生变化,您可能需要详尽地 git update-ref -d 整个 refs 文件夹。 (我只是为大约 200 个分支做了这个——我在 fetch 输出上运行了一个 vim 宏来生成 200 个命令——据我所知,没有递归的选项 git update-ref -d refs 的文件夹。)下一次提取将最后一次获取任何重命名的分支,但后续提取将不再获取该分支。

如果分支不只是重命名,而是实际存在多次,只是大小写不同,您应该要求创建分支的开发人员删除多余的分支,这样就不会有只是大小写不同的分支。 每次提取都会看到相同的分支,直到不再有仅大小写不同的重复分支。

在 Windows git bash 上,您可以尝试使用以下命令列出所有仅大小写不同的分支:

git ls-remote --refs origin | tr '[A-Z]' '[a-z]' | sort | uniq -c | grep -v $' 1\t'

关于Git 获取 : Remote keeps deleting and adding branches,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32525470/

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