我们有两个开发人员使用GIT处理项目。如何清理GIT冲突到一个用户的版本忽略其余的部分
现在我们有一个用户A的版本,其中一切正常,用户B进行修改,所有可以被忽略。
但是用户A和用户B提交更改...
我们如何可以重置sitaution使我们只要使用用户的版本,然后将所有用户B的变化被忽略?
我们正在使用Eclipse的Android项目,是新的GIT ...
我们有两个开发人员使用GIT处理项目。如何清理GIT冲突到一个用户的版本忽略其余的部分
现在我们有一个用户A的版本,其中一切正常,用户B进行修改,所有可以被忽略。
但是用户A和用户B提交更改...
我们如何可以重置sitaution使我们只要使用用户的版本,然后将所有用户B的变化被忽略?
我们正在使用Eclipse的Android项目,是新的GIT ...
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
。虽然--hard
将清除所有更改--soft
和--mixed
将仅回滚提交,但不会擦除更改。
尽管上述操作会导致非ff,因此如果您推送到公共存储库,您应该考虑git revert SHAofCommit
,它会创建一个提交,以恢复由该提交完成的所有更改。
非常感谢。实际上,提交的内容非常复杂,我们需要的仅仅是忽略所有提交的一个用户的完整版本。所以我们最终做的是删除所有用户的B项目和本地存储库,并从用户A重新创建一个新的。但感谢提示! – user387184 2013-02-25 18:55:02
从它的声音,你都在犯相同的远程存储库,并可能直接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
如果在远程有多个分支,请告诉我,我会更新这些细节。
备注:如果您的所有开发人员都承诺使用相同的远程存储库,则您使用git
,如svn
。每个开发者也应该有他们自己的远程设备,他们可以将其设置为commit
,branch
等。然后,当变更集被批准时,它被合并到中央回购站中。
非常感谢 - 但我们只是从用户A的干净版本重新创建完整的本地存储库,以便用户B从那里再次启动 – user387184 2013-02-25 18:56:59
你的问题并不是非常清楚,我尽力了解它。主要缺乏关于如何使用git的信息。 – Learath2 2013-02-25 17:44:35