我在我的.gitignore文件中有这个:
/nbproject/
/app/runtime/
/app/runtime/application.log*
/app/runtime/error.log*
/app/config/localdev.php*
.DS_Store
Run Code Online (Sandbox Code Playgroud)
1)我已经结账到主分公司,然后再次结账,回到开发分公司.
2)一旦我回到dev分支,我丢失了所有/ nbproject /文件和所有/app/config/localdev.php!也许其他人,但由于他们是由php框架uppon运行时自动生成的,我无法真正说出来!
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
Run Code Online (Sandbox Code Playgroud)
我知道我应该做一个git add .在存储库中移动这些文件,我不明白的是:
为什么git抛出这个消息如果在发出git checkout命令之前我有nbproject/ignore呢?
题:
重点是忽略这些文件.无论是主人还是开发者.我的问题是:如何解决这个问题,以便:
a)首先: 将这些文件(gitignore上的文件)恢复到dev?
b)第二: 采取措施再次避免这种冲突.
您可以在其他分支中跟踪它们.或者,您可以添加--force到checkout命令以使用master拥有的文件来删除文件.或者,您可以git clean -xdf在签出master之前从工作目录中删除文件.
为解决问题而采取的步骤。学分转到:jszakmeister
1)我已将项目克隆到其他地方。
2)我已经在那个克隆上检查了master。
3)将 gitignore 放入 master 中,因为它从一开始就应该在那里: git show dev:.gitignore > .gitignore
4)我通过执行 git rm “gitignore 上的所有文件一一”从树中删除了文件
5)我已将 .gitignore 文件添加到存储库中。
6)提交
7)切换回原来的repo并执行:
8) git fetch /path/to/fix-project master:master
9) git checkout master,我得到: 切换到分支 'master' 你的分支比 'hub/master' 领先 1 个提交。这是我的远程主分支。
10)推送到远程主机。
11)再次检查开发人员
| 归档时间: |
|
| 查看次数: |
21753 次 |
| 最近记录: |