代码之家  ›  专栏  ›  技术社区  ›  cbdeveloper

在新的Git分支中创建新文件

  •  0
  • cbdeveloper  · 技术社区  · 6 年前

    现在我只有一个本地的 master 树枝和遥控器 origin/master Gitlab上的分支。

    • 编写新代码 主人
    • 跑 git commit -m "added something new"
    • 跑 git push origin master

    • git checkout -b newBranch

    在这个命令之后,我已经“签出”我的新分支了,对吧?我可以用 git branch -a

    所以我创建了一个新文件(使用VSCode文件资源管理器) example.txt

    然后我做了:

    • git checkout master

    这样我就可以回到我的 分支机构。

    在这一点上,我希望我不能再看到这个文件,因为它是用另一个分支创建的。但文件还在。

    我错过了什么?

    0 回复  |  直到 6 年前
        1
  •  2
  •   Mark Adelsberger    6 年前

    您创建的文件尚未暂存或提交,因此它是未跟踪的文件。未跟踪的文件还不属于任何分支;它们存在于您的工作树上,当您从一个分支切换到另一个分支时,它们仍保留在那里。

    (要完全理解这一点,您可能需要熟悉git中的三个常规存储区域:工作树、索引(有时称为临时区域)和数据库。详细讨论这一点可能超出了回答这个问题的范围,但我建议您仔细阅读这个主题。)

    有一句警告语伴随着这句话:在一个分支上提交的文件可能不存在于另一个分支上。例如,如果你回到 newBranch 提交你的档案

    git checkout newBranch
    git add example.txt
    git commit
    

    example.txt 存在于 但不是开的 master 主人 ,文件将按您的预期消失。

    这意味着如果 主人 ,创建另一个 示例.txt

    如果你想结帐到 git应该拒绝,并警告您有可能在签出时丢失的数据。

        2
  •  0
  •   Jeet Kumar    6 年前

    您可以使用git的stash命令。

    垃圾桶是干什么的?

    git存储用于剪切更改。

    例子:

    git stash
    

    比如说:

    1. 现在您迫切需要切换另一个分支主节点,然后在切换之前应用以下命令。

      git添加示例.txt

      暂存

    2. 当您返回分支newBranch时,应用以下命令。

      git存储应用

    然后你可以看到你的文件示例.txt.