不需要的自动Git合并

时间:2016-02-08 11:20:40

标签: git

文件*.licx in位于我的本地存储库中,而且位于远程存储库中。

我放了.gitignore git pull个文件。

当我使用命令error: Your local changes to the following files would be overwritten by merge: WindowsFormsControlLibrary/Properties/licenses.licx Please, commit your changes or stash them before you can merge. 时,我收到此消息:

$ git rm --cached WindowsFormsControlLibrary/Properties/licenses.licx
$ git --skip-worktree WindowsFormsControlLibrary/Properties/licenses.licx
$ git --assume-unchanged WindowsFormsControlLibrary/Properties/licenses.licx
$ git reset --hard HEAD

中止

我做了一个提交,我这样做:

git pull

但是当我使用git pull时,消息是相同的。

如何在不必合并licenses.licx个文件的情况下使用If (Day(v_date) = vbSaturday) Or (Day(v_date) = vbSunday) Then

2 个答案:

答案 0 :(得分:1)

您是否在本地更新了.gitignore?如果是这样,您必须检查全局gitignore文件的内容,这有时会影响您的本地gitignore。

答案 1 :(得分:0)

当您执行git reset --hard HEAD时,您取消了从缓存中删除许可文件的操作。再次git rm --cached WindowsFormsControlLibrary/Properties/licenses.licx,然后执行git commit

为安全起见,请在下一步之前制作本地licenses.licx文件的备份副本。

当你进行下一次拉动时,你会发现合并冲突,因为你已经删除了文件,同时其他人明显改变了它(否则你不会得到原始错误)。使用“我的”解析它(或者只是再次从缓存中删除它)并提交。

请注意,当git pull执行namespace BlogProject.Models { public class Thread { [Key] public int ThreadId { get; set; } public DateTime? PostDate { get; set; } public string ThreadText { get; set; } public string ThreadTitle { get; set; } public virtual ApplicationUser UserProfile { get; set; } public string GetUserName { get; set; } public virtual ICollection<Post> Posts { get; set; } } public class Post { public int PostId { get; set; } public string PostTitle { get; set; } public string PostText { get; set; } public DateTime? PostDate { get; set; } public virtual ApplicationUser UserProfile { get; set; } public virtual Thread Thread { get; set; } //[ForeignKey("Thread")] public int ThreadId { get; set; } } } 时,这将删除其他人计算机上的licenses.licx文件。