2016-02-12 78 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

應爲''寫什麼? –

相關問題