我的.gitignore文件中有这个:
/nbproject/
/app/runtime/
/app/runtime/application.log*
/app/runtime/error.log*
/app/config/localdev.php*
.DS_Store
1)我已经结帐到master 分支,然后再次结帐,回到dev 分支。
2) 一旦我回到dev 分支,我丢失了所有 /nbproject/ 文件和所有 /app/config/localdev.php !!!也许还有其他的,但由于它们是由 php 框架在运行时自动生成的,所以我真的说不出来!
3)然后我切换回主分支,我在那里得到了这些文件。
4)我已经将这些文件复制到其他地方,并且再次切换到dev 分支。
5) 我已将那些丢失的文件放回 /nbproject/ 文件夹中。
现在,如果我尝试切换到 Master 分支,我会得到:
Error: The following untracked working tree files would be overwritten by checkout:
nbproject/private/config.properties
nbproject/private/private.properties
nbproject/private/private.xml
nbproject/project.properties
nbproject/project.xml
Please move or remove them before you can switch branches.
Aborting
我知道我可能应该做一个git add .
移动存储库中的这些文件,我不明白的是:
如果在发出这些 git checkout 命令之前我已经忽略了 nbproject/ ,为什么 git 会抛出此消息?
问题:
关键是忽略这些文件。在 master 和 dev 上。我的问题是:我该如何解决这个问题,以便:
a) 首先: 将这些文件(gitignore 上的文件)返回给 dev ?
b) 第二: 采取措施再次避免这种冲突。