Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 摆脱一个开发人员的提交_Git - Fatal编程技术网

Git 摆脱一个开发人员的提交

Git 摆脱一个开发人员的提交,git,Git,我正在与其他几个开发人员合作一个项目,我们正在使用git进行版本控制。我们都是不同程度的新手。出于某种原因,我们的一个开发人员提交的内容覆盖了较新的工作-其他开发人员将提交更改,一切正常-此开发人员将提交更改,新更改将被其旧版本覆盖。这本身就是一个话题(任何见解都是受欢迎的) 我的问题是:我怎样才能穿越历史,消除他的罪行?我会使用rebase吗?樱桃树?正如我所说,我或多或少是一个git新手,我没有更多的经验可以求助于任何人。你应该可以使用。请注意,这可能会彻底改变您的树,因此请先进行多个备份,

我正在与其他几个开发人员合作一个项目,我们正在使用git进行版本控制。我们都是不同程度的新手。出于某种原因,我们的一个开发人员提交的内容覆盖了较新的工作-其他开发人员将提交更改,一切正常-此开发人员将提交更改,新更改将被其旧版本覆盖。这本身就是一个话题(任何见解都是受欢迎的)


我的问题是:我怎样才能穿越历史,消除他的罪行?我会使用rebase吗?樱桃树?正如我所说,我或多或少是一个git新手,我没有更多的经验可以求助于任何人。

你应该可以使用。请注意,这可能会彻底改变您的树,因此请先进行多个备份,并仔细验证结果。

关于进行多个备份,我是否会创建一个新的分支并在那里执行?如果我这样做,我就必须把它放回master上——是吗?我的意思是在文件系统级别备份git目录。这样,如果您的筛选器分支出现问题,您就不会有紧急情况。@JoeM05您可以在新分支中执行此操作,只将筛选器分支应用于该分支,即使您意外地将其应用于其他分支,它也会创建分支以前位置的备份。。。但是,由于这是一个非常激烈的操作,在一个完全独立的克隆中进行操作是安全、简单和干净的。如果没有其他信息,这个开发人员覆盖其他内容的原因实际上是不可能的-可能有人在解决合并冲突方面做得不好,可能这个人只是做了错误的提交。查看历史记录(可能使用gitk)以了解问题所在,然后在必要时,观察他提交,或观察某人合并他的东西,并查看他们是否在做任何不同的事情。