GIT:上游更新丢失了不在上游的所有本地更改

时间:2012-08-21 08:51:14

标签: git

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

2 个答案:

答案 0 :(得分: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修改了之前的提交,因此您可以看到同时进行两次更改的提交。

答案 1 :(得分:1)

  

我希望我的本地正好是上游的

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

git checkout master

git reset --hard my_upstream_branch_name