我如何将修改的文件转换为以前的修订,在一个特定的 commit hash (我通过 git log 和 git diff 确定)?
当前回答
您可以使用任何引用到一个 git 承诺,包括 SHA-1 如果这是最方便的。
git checkout [commit-ref] -- [文件名]
其他回答
显然,有人需要在 git 上写一本可理解的书,或者 git 需要在文档中更好地解释。
cd <working copy>
git revert master
他们会放弃最后的承诺,似乎正在做。
伊恩
这对我工作:
git checkout <commit hash> file
接下来的改变:
git commit -a
您可以使用任何引用到一个 git 承诺,包括 SHA-1 如果这是最方便的。
git checkout [commit-ref] -- [文件名]
我想我找到了它......从 http://www-cs-students.stanford.edu/~blynn/gitmagic/ch02.html
有时你只是想回去,忘记每一个变化都过去了一个特定的点,因为它们都是错误的。
开始与:
$ 登录
它向您展示了最近的承诺列表,以及它们的SHA1哈希。
接下来,类型:
$ git 重新设置 --hard SHA1_HASH
将国家恢复到一定的承诺,并将所有新的承诺永久从记录中删除。
这里是我的路。
在 Android Studio 中,打开文件。
(b) git -> 显示历史,找到我要转向的以前的承诺。
c) git checkout commit_id file_path
推荐文章
- 如何在Visual Studio中删除未推送的外向提交?
- Git在两个不同的文件之间的差异
- 我如何使用vimdiff来解决git合并冲突?
- 如何将更改提交到另一个预先存在的分支
- 为什么使用'git rm'来删除文件而不是'rm'?
- 我如何安装imagemagick与自制?
- 致命:git-write-tree:错误构建树
- Git克隆远程存储库的特定版本
- git隐藏的意图用例是什么?
- 从远程Git存储库检索特定的提交
- 如何配置git bash命令行补全?
- 我如何迫使git拉覆盖每一个拉上的一切?
- 撤销“git add <dir>”?
- 是否可以在不先签出整个存储库的情况下进行稀疏签出?
- 如何移除SSH密钥?