提交以前从git中删除的文件

时间:2018-10-04 12:46:32

标签: ios git commit atlassian-sourcetree pod

我正在使用XCode,SourceTree,并且我不小心从存储库中删除了Podfile.lock,但是我将其保存在我的PC中。如何再次添加它或将其标记为在存储库中已删除?

1 个答案:

答案 0 :(得分:1)

如果可以及时返回以从历史记录中“删除”文件(好像一开始从未删除过文件),那么这就是您要做的。假设文件是​​在master〜3上删除的。

git checkout master~3
git checkout HEAD~1 -- Podfile.lock # get the file back from previous revision
git commit --amend --no-edit # commit (file should not be deleted on this revision)
git cherry-pick master~3..master # replay history of master after the revision we modified
# at this point you should verify that everything is ok
# if everything is ok, then we need to move master pointer
git branch -f master
git checkout master # checkout new "fixed" master

那应该足够了。这是在重写分支的历史。...它具有与之相关的成本(例如,其他开发人员已经在旧分支上工作吗?例如,他们将不得不在新分支之上重新部署/樱桃选择他们的工作)