2016-02-12 76 views
0

让我们在我的根文件夹说,我有以下文件夹:Git的 - 回滚到一个特定的文件夹

---Folder1 
---Folder2 

我也有2个用户(user1和user2)。

这里是提交列表的一个片段:

  • USER1所做的更改Folder1中和文件夹2(2小时前 - 我们称之为V2)
  • user2的更改了Folder1中(4小时前 - 让我们称之为V1)

的问题是,USER1意外地改变Folder1中,我想保持制作成文件夹2(V2上做出的更改),并只保留)制成Folder1中(从V1变化。

有没有办法做到这一点,而不涉及两个用户?

+0

你想创建一个3犯,修复东西** **或者你要修改的最新承诺(最初由user1所做的更改)只触摸folder2?... – TheCodeArtist

+0

第三个评论将是一个很好的解决方案 –

+0

然后@ pratZ的答案应该适用于您。 – TheCodeArtist

回答

0

获取您想要保留Folder1的更改(即user2的提交)的提交。从旧提交签出Folder1

git checkout <user2's commit> -- /path/to/Folder1/ 

现在,您可以检查差异,

git diff --cached 

提交更改,

git commit -m 'Reverting Folder1' 

正如TheCodeArtist评论,

上述步骤撤消/路径的所有更改/到/资料夹/后< user2的承诺>

+0

只是为了澄清,上述步骤撤销了在之后对'/ path/to/Folder1 /'进行的所有更改。 – TheCodeArtist

+0

...同时我们也在这里,最好总是使用'​​-s'标志和'git commit'来自动将'signed-off-by'行添加到提交描述中。 – TheCodeArtist

+0

应为''写什么? –

相关问题