代码之家  ›  专栏  ›  技术社区  ›  Navid Naseri

Git:`stash`不会找到本地更改,但`pull`会找到它们

  •  0
  • Navid Naseri  · 技术社区  · 10 月前

    我正试图使用Github Actions自动部署我的项目。工作流程是这样的:

        git stash
        git stash drop
        git pull
        # install dependencies and ...
    

    当执行前两行时,git找不到任何局部更改:

        out: No local changes to save
        err: No stash entries found.
    

    但之后 git pull 运行时,会发生以下情况:

        err: From https://github.com/*****/*****
        err:  * branch            main       -> FETCH_HEAD
        err:  ****..****          main       -> origin/main
        err: error: The following untracked working tree files would be overwritten by merge:
        err:    thefile
        err: Please move or remove them before you merge.
        err: Aborting
    

    为什么会这样?

    1 回复  |  直到 10 月前
        1
  •  2
  •   victordobry    10 月前

    您的更改未被跟踪。默认情况下, git stash 仅包括跟踪的文件。

    如果要隐藏更改,您需要以下任一项:

    • 修改命令以包含未跟踪的文件: git stash --include-untracked
    • 使用以下方式跟踪文件 git-add ,例如跟踪所有文件: git add *