2016-05-14 139 views
0

美好的一天。我有一个项目我自己的GitLab,这是一个.NET开发项目。我正在使用Visual Studio 2013和git工具。这个强大的组合已经有6个月的全部优势。但是现在新人正在整合这个项目。因此,对于不同的工作组,我正在删除一些文件和目录,对这个项目做了一个裸机。第一个是Web开发。限制git合并文件删除

在这一点上,我做了一个测试,从Web项目合并到大项目(它具有类库和Web项目本身)。它做得很好。现在一周后,我准备好了第一次真正的合并。它失败了。这个大项目删除了我在小文件中删除的文件和目录。

我不知道,我在做什么错?我很确定命令是一样的。我在笔记中写下他们。但这种行为对我来说是新的。所以我正在寻找一种方法来限制合并进程在执行时大的删除。

有人可以帮我吗?在此先感谢

- == UPDATE == -

我刚刚认识到,我的测试是从大一个小家伙。

git clone WebVista http://versioner.domain.com/omelendez/WebVista.git 
git remote add WebMVC http://versioner.domain.com/omelendez/WebMVC.git 
git fetch WebMVC 
git checkout -b WebMVC WebMVC/master 
git checkout master 
git merge WebMVC

冲突在VS中解决。这里的事情是完美的。没有添加类库,这是因为git忽略,我用它来删除目录和文件。当我做克隆,我忽略了类库项目,跑以下命令:

git rm -r --cached . 
git add . 
git commit -m "Web Development Project"

的家伙分叉这个项目做出修改,并提出了合并请求。这是很好的部分

我仍然没有线索如何合并成一个大的。如果有人对此有所了解,我会很感激,如果那个人可以写出来。

回答

0

过了一段时间,我可以解决这个问题。删除操作仍然是git历史中的一个痕迹,当它在克隆的repo中完成时。所以我必须做的是从以前的提交恢复所有文件。

“坏” 合并后:

 
git checkout HEAD~1 -- filename.ext 
git checkout HEAD~1 -- directory1 <-- (If u need to restore a whole directory) 

Later in the VS I made the changes respectively, about adding the projects manually. Then commit and sync. 

感谢了支持#git IRC通道CBREAK。它工作得很好。