文件级别的 Eclipse Git 冲突



我只通过 Eclipse 使用了 git,所以不确定如何在命令行上测试它。 我只在两个项目上使用过 Git,而且都是 Intranet Git 存储库。 在第一个项目中,只有当远程和本地更改文件中的同一行时,拉取请求才会失败。 在我当前的项目中,我执行了拉取,如果更改了相同的文件,无论是否更改了同一行(本地和远程),它都会失败。 这是 git 存储库中的设置还是 eclipse 中的设置?

澄清一下,当我说"失败"时,我的意思是 eclipse 甚至没有尝试拉动并给我一个关于冲突的消息。

我确实切换到新分支并执行本地提交,然后切换回主分支并拉动然后合并我的临时分支。 这并不难,但同样,

我想知道为什么一个项目 Eclipse Git 如果文件有本地和远程更改(只要不是同一行),它只会下拉更改,但在我当前的项目中,如果任何文件更改(即使只有文件中的不同行被更改)。

在我的上一个项目中,我是否在本地提交了更改并不重要,除非它是同一文件中的同一行,否则它都会拉取。

例如,我刚才做了一个团队>同步,看到了传入的文件,所以我只是在文件中放了一个回车符并保存。 它立即在日食中显示为冲突。 在我的上一个项目中,它不会这样做。 它会认为线条变化是不同的,并且不会显示冲突。 我认为这是一个日食设置。


更新

使用命令行的同事没有我的问题,所以我假设这是一个 Eclipse 设置。 很奇怪,因为我在上一个项目中使用了Eclipse。 版本也相同。 所以我将开始研究 Eclipse 设置。

当您说拉取失败时,我假设您已经对本地文件进行了一些更改,但尚未提交。错误描述可能如下所示

请在合并之前提交更改或存储它们

如果这些更改不重要,并且您希望反转回更改发生之前的阶段,请执行

git reset HEAD YOUR_FILE
#or
git reset HEAD --hard

如果对文件的这些更改是您想要的。您应该在拉取之前提交文件。

git add YOUR_FILE
git commit -m 'Updated the file'
git push origin YOUR_BRANCH

如果您认为这些更改未完成并且不想提交完成的内容,则可以将更改移动到堆栈以使用stash清理工作目录

git status #check to see working directory state
git stash #push a new stash onto your stack
git stash list #see the stashes that you have stored
git stash apply #to reapply your most recent stash
#or 
git stash apply YOUR_STASH_ID #to reapply a specific stash
#or
git stash pop #to apply the stash and then immediately drop it from your stack

您可能有未提交的本地更改。

一个接一个地尝试下面

git stash;
git pull;
git stash apply;

最新更新