Git的拉在不同的机器上提交重置

问题描述 投票:0回答:2

我犯了,B,C在我的回购(A是最新的),我感到我的办公电脑和私人电脑上工作。

然后,我从重置我的私人电脑提交A,B和增加了新的承诺D.现在我的私人电脑已经承诺d,C。然后,我力推他们,所以我的远程回购也仅显示d,C。

现在,当我拉我的回购从我办公室的电脑,它已经提交d,A,B,C和一个新的“合并冲突”承诺,我不得不这样做,同时将回购?

我怎样才能让我的办公室的电脑有相同提交作为远程回购,(即d,C)?

git version-control git-pull git-reset
2个回答
2
投票

拉(git pull)指取,然后执行第二命令,通常合并:即,git fetch然后git merge。因此合并来自于git pull运行第二Git的命令。

既然你不想合并,不运行git merge。这意味着:不运行git pull。由于git pull真的只有两个Git命令,自己运行的第一个:git fetch

然后,在获得新的提交D,你想要做同一种重置你的力量推动和你git reset做的。在这种情况下,它意味着你将要运行:

git reset --hard origin/master

(或任何origin/远程跟踪名字,对应于当前的分支)。小心git reset --hard,它会清除你做任何提交的工作:运行git status首先要确保你没有任何这样的工作,或者是舒服丢弃它。

(我建议避免一般git pull。如果你想你的git mergegit fetch,运行你自己。但是,这是一个单独的问题。)


0
投票

不得不做

git reset --hard origin/master

git pull

© www.soinside.com 2019 - 2024. All rights reserved.