1

我正在尝试更新我的本地存储库以匹配上游。有一堆冲突。更新时如何丢失本地更改?

4

2 回答 2

1

创建一个新分支:

git checkout -b newbranchname

然后回到主人:

git checkout master

然后尝试拉和合并(类似)

git pull upstream master

您还可以采用旧的提交,并与上游合并以确保快速向前合并。然后你可以尝试慢慢解决冲突。

如果您想尝试一次解决一个文件,请尝试:

git checkout newbranchname
git merge master

如果有冲突,它只会在工作目录中合并。现在您可以在单个文件中解决冲突。

然后你可以尝试:

git reset

取消暂存所有更改,并添加您解决冲突的文件:

git add solvedfile
git commit -m "Single file merged"

如果你解决另一个文件,你可以

git add anotherfile
git commit --amend -m "2 files merged"

--amend 修改之前的提交,以便您看到包含两个更改的单个提交。

于 2012-08-21T08:56:28.753 回答
1

我希望我的本地人与上游完全相同

这是一个“硬重置”。本地分支中的所有更改都将丢失。

git checkout master

git reset --hard my_upstream_branch_name
于 2012-08-21T09:10:15.243 回答