Git签出分支,但文件已更改

Git签出分支,但文件已更改,git,Git,我正在工作。我克隆了它的源代码。当我git status时,一切正常 FFmpeg git:(master) git status On branch master Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded. (use "git pull" to update your local branch) nothing to commit, working tree clean 但现在我

我正在工作。我克隆了它的源代码。当我
git status
时,一切正常

FFmpeg git:(master) git status
On branch master
Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree clean
但现在我想将分支更改为
release/3.4
,一些文件已经更改

FFmpeg git:(master) git checkout release/3.4
Switched to branch 'release/3.4'
Your branch is up-to-date with 'origin/release/3.4'.
FFmpeg git:(release/3.4) ✗ git status
On branch release/3.4
Your branch is up-to-date with 'origin/release/3.4'.
Untracked files:
        (use "git add <file>..." to include in what will be committed)

libavcodec/codec_list.c
libavcodec/parser_list.c
libavdevice/indev_list.c
libavdevice/outdev_list.c
libavfilter/filter_list.c
libavformat/demuxer_list.c
libavformat/muxer_list.c

nothing added to commit but untracked files present (use "git add" to track)
FFmpeg-git:(主)git签出版本/3.4
切换到分支“发布/3.4”
您的分支机构是“origin/release/3.4”的最新版本。
FFmpeg-git:(发行版/3.4)✗ git状态
关于分支版本/3.4
您的分支机构是“origin/release/3.4”的最新版本。
未跟踪的文件:
(使用“git add…”包含在将提交的内容中)
libavcodec/codec_list.c
libavcodec/parser_list.c
libavdevice/indev_list.c
libavdevice/outdev_list.c
libavfilter/filter_list.c
libavformat/demuxer_list.c
libavformat/muxer_list.c
提交时未添加任何内容,但存在未跟踪的文件(使用“git add”跟踪)

我很困惑。我从未更改过这些文件。

在master中,这些文件位于
.gitignore
中,但在
版本/3.4中,它们被删除了。可能它们没有在该版本中使用,或者发布分支中的
.gitignore
是错误的。一般来说,最好在切换分支之前清除生成工件,以防止来自VCS或后续生成的意外行为。

您应该检查原始分支上是否存在这些文件。.是的,它们在主分支上。如果删除未跟踪的文件,您可能需要“硬”签出。。另外,我从来没有直接使用git,因为我很容易搞砸整个回购交易。我不知道为什么。