Git 没有获取我更改的文件

标签 git git-branch

我正在尝试创建一个包含我的项目的不同版本的新分支。不幸的是,较新版本的文件虽然内容不同,但不会被 git 注意到已更改并且无法提交。

文件夹\文件几乎相同,并且从备份中同时放入目录中。一些文件的内容不同,我需要在新分支中反射(reflect)这些更改。

举例来说,以我尝试使用 2 个文本文件的这个简单模型为例。

文件结构:

project/
├── older/
│   ├── File 1.txt
│   ├── File 2.txt
├── newer/
│   ├── File 1.txt
│   └── File 2.txt

结构与我的实际项目类似,只是文件和子文件夹更多。

Mr JF@Computer MINGW64 ~/Desktop/testproject (master)
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

Mr JF@Computer MINGW64 ~/Desktop/testproject (master)
$ stat -c "%y %s %n" *
2018-03-15 15:43:35.764654900 +0000 15 File 1.txt
2018-03-15 15:43:35.765656300 +0000 17 file 2.txt

Mr JF@Computer MINGW64 ~/Desktop/testproject (master)
$ git checkout -b newerbranch
Switched to branch 'newerbranch'

我将较新版本的 File 1 & 2.txt 复制到此处的存储库中,然后:

Mr JF@Computer MINGW64 ~/Desktop/testproject (newerbranch)
$ git status
On branch newerbranch
nothing to commit, working tree clean

这是怎么回事?

最佳答案

我会尝试这些东西:

  1. 通过运行 git check-ignore -v path/to/file

    确保文件没有被忽略
  2. 运行 git update-index --really-refresh 刷新索引并忽略任何可能已使用 git update-index --assume-unchanged< 静音的文件

如果这确实不是用户错误,我会假设问题出在底层文件系统和/或 Git 如何与之交互。

关于Git 没有获取我更改的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49303969/

相关文章:

GIT:如何保护分支不被其他开发人员删除?

Git 使用 -b 检查较旧的标签并提取最新的提交

c# - NGit rebase 创建新提交

git - 我如何将 git 分支从开发 merge 到暂存然后生产

git - Git rebase 的 --merge 选项有什么作用?

在 Bitbucket 中使用预接收 Hook 时无法访问 Git 对象

git - 如何在 TortoiseGit 中从 Master 获取更新到 Branch

git - 如何删除 "origin/origin/master"

Git 分支 : There and Back Again

Git 分支名称与操作系统相关吗?