【问题标题】:Gatsby develop V4 won’t switch between git branchesGatsby develop V4 不会在 git 分支之间切换
【发布时间】:2022-08-02 11:49:01
【问题描述】:

我在我的 GatsbyJS 项目中创建了一个新的 git 分支来处理新功能,然后运行 ​​\"gatsby clean\" + \"gatsby develop\" 来查看更新,如果我关闭服务器并改回(结帐)到 master/main 分支并再次运行 \"gatsby clean\" + \"gatsby develop\" 我仍然可以看到更新的版本。浏览器不应该显示原始版本而不进行任何更改吗?

每次切换分支并使用两种不同的浏览器时,我都会在“gatsby develop”之前运行“gatsby clean”。

我注意到的另一件事(也许这没问题),当我检查“git status”时,我可以看到带有更新的同一个文件正在等待在两个分支上提交。

作为旁注,我有基本的 gatsby-conf 和 gatsby-browser 配置

  • 也许您的浏览器缓存了旧版本。尝试进行硬刷新 (Ctrl+Shift+R)。还要检查代码以确保它确实是您认为的那样。
  • @Code-Apprentice 谢谢,是的,我没有成功。

标签: git gatsby git-branch git-status


【解决方案1】:

通过运行清理缓存:

gatsby clean

这将删除您的 /public.cache 文件夹。请记住,您在构建站点时看到的代码位于 /public 文件夹下,因此删除它以查看以前的更改是有意义的。

作为个人选择,我通常通过在之前添加gatsby clean 来调整我的开发命令,以避免package.json 中出现此类问题。

如果您更改某些内容,然后签出到另一个分支,这些更改将与您一起进入该分支,因为它们没有提交或暂存。 Git 知道有一个文件被更改,但它没有附加到本地的任何内容。如果您希望在签出时更改为“不要随身携带”,则应提交/推送它们,或运行git stash,签出新分支,并随时通过运行@987654328 恢复它们@(或使用git checkout . 丢弃它们)

【讨论】:

  • 投票赞成伟大的建议,看起来是一个 git 问题,我再次编辑了我的问题。
  • 我编辑了答案。您不会丢弃更改,因为您没有提交或暂存更改,因此它们会与您一起出现。如果要删除更改,请运行 git checkout .。如果您想坚持更改,请运行 git stash 删除它并运行 git stash pop 恢复它们。
【解决方案2】:

请务必 git add .git commit 您对另一个分支的更改。当您git checkout maingit switch main 时,不会丢弃本地更改。这是 git 的一个特性,因为自动丢弃本地更改是不可恢复的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2021-03-27
    • 2012-05-01
    • 2021-02-05
    相关资源
    最近更新 更多