Git:如何回滚/撤消对图像的更改?

Git:如何回滚/撤消对图像的更改?,git,git-revert,Git,Git Revert,因此,我们的设计师对一些图像进行了一些更改,并提交了这些更改。现在我们的git日志如下所示: Commit 1: Changed images Commit 2: Oops, forgot to commit a few images ……然后,企业希望它们看起来与众不同,因此设计师改变了它们,并再次承诺: Commit 1: Changed images Commit 2: Oops, forgot to commit a few images Commit 3: Changed image

因此,我们的设计师对一些图像进行了一些更改,并提交了这些更改。现在我们的
git日志
如下所示:

Commit 1: Changed images
Commit 2: Oops, forgot to commit a few images
……然后,企业希望它们看起来与众不同,因此设计师改变了它们,并再次承诺:

Commit 1: Changed images
Commit 2: Oops, forgot to commit a few images
Commit 3: Changed images again
Commit 4: Minor tweaks to new images just committed

…现在,公司第一次决定他们更喜欢这些图片。因此,现在我们需要回到他们接近开始的方式。我尝试了几种不同的方法,我认为我需要使用的方法是
git revert
,这样我就可以创建一个新的提交,将图像恢复到以前的状态。然而,当我尝试这样做时,我似乎有冲突。我应该如何做才能强制使用在
Commit 1
Commit 2
中所做的更改来覆盖新图像?

如果这些都不是合并提交,那么
git revert
应该起作用(其中
是提交的SHA1)。如果有未提交的更改,请执行
git隐藏


或者,执行
git签出--
然后执行
git add
和提交。

您要做的是从旧提交中签出文件

它看起来像:

git checkout <commit 1 refspec> imagefilename.png
git checkout-imagefilename.png
commit refspec可能是头{4},也可能是SHA或标记。。。。指那个承诺的东西。然后它将作为添加和提交的更改放在您的工作目录中