0

我们有两个开发人员正在使用 GIT 开发一个项目。

现在我们有一个版本,用户 A 一切正常,用户 B 进行了所有可以忽略的修改。

但是用户 A 和用户 B 提交了更改...

我们如何重置情况,以便我们只使用用户 A 的版本而忽略所有用户 B 的更改?

我们正在使用 Eclipse 开发 Android 项目,并且是 GIT 的新手......

4

2 回答 2

1

从它的声音来看,您都在提交到同一个远程存储库,并且可能直接提交到master. 所以我假设你的历史看起来像:

A1    B1    A2    A3    B2
o-----o-----o-----o-----o

您必须对revert用户 B 提交的更改:

git revert <hash>

这将为每个还原添加一个额外的提交:

A1    B1    A2    A3    B2    B1r   B2r
o-----o-----o-----o-----o-----o-----o

如果远程上有多个分支,请告诉我,我会更新这些细节。

旁注:如果您的所有开发人员都提交到同一个远程存储库,那么您正在使用gitlike svn. 每个开发人员也应该有自己的遥控器,他们可以commitbranch等等。然后,当变更集被批准时,它会被合并到中央仓库中。

于 2013-02-25T17:28:26.667 回答
1
User A-> C1--C3--C4--C5--C6--C7--C2&7
                \              /
                 User B->C1--C2

从您的问题中,我知道您想回到 C3 吗?如果是这样,您可以获得 C3 的 SHA,然后执行git reset SHAofC3

但无论如何,要回到特定的提交,你总是想要git reset (--hard|--mixed|--soft) CommitSHA. While--hard将清除所有更改--soft,并且--mixed只会回退提交,但不会删除更改。

虽然上述将导致非 ff 因此如果您要推送到公共存储库,您应该考虑git revert SHAofCommit哪个将创建一个提交,该提交将还原该提交所做的所有更改。

于 2013-02-25T17:28:27.737 回答