我如何将修改的文件转换为以前的修订,在一个特定的 commit hash (我通过 git log 和 git diff 确定)?
当前回答
下面是Rebase如何工作:
git checkout <我的分支> git rebase 主 git checkout 主 git merge <我的分支>
假设你有
───────────────────
... 查看你想向大师分支申请的变革分支。 退缩命令从 <我的分支>(不在大师中找到)采取命令,并将其重新应用到大师的头部。 换句话说,在 <我的分支>中的第一个命令的父母不再是大师历史中的先前命令,而是当前大师的头部。
git rebase master <my branch>
这可能更容易记住这个命令,因为“基础”和“修改”分支都明确。
历史的最终结果是:
────────────────────
git checkout master
git merge <my branch>
...做一个快速前进的合并,将所有 <我的分支> 变更应用于主人. 没有这个步骤,退缩承诺不会添加到主人. 最终结果是:
───────────────────
git branch -d <my branch>
其他回答
显然,有人需要在 git 上写一本可理解的书,或者 git 需要在文档中更好地解释。
cd <working copy>
git revert master
他们会放弃最后的承诺,似乎正在做。
伊恩
下面是Rebase如何工作:
git checkout <我的分支> git rebase 主 git checkout 主 git merge <我的分支>
假设你有
───────────────────
... 查看你想向大师分支申请的变革分支。 退缩命令从 <我的分支>(不在大师中找到)采取命令,并将其重新应用到大师的头部。 换句话说,在 <我的分支>中的第一个命令的父母不再是大师历史中的先前命令,而是当前大师的头部。
git rebase master <my branch>
这可能更容易记住这个命令,因为“基础”和“修改”分支都明确。
历史的最终结果是:
────────────────────
git checkout master
git merge <my branch>
...做一个快速前进的合并,将所有 <我的分支> 变更应用于主人. 没有这个步骤,退缩承诺不会添加到主人. 最终结果是:
───────────────────
git branch -d <my branch>
如果您想要将文件转换为以前的承诺(并且您想要转换已承诺的文件),您可以使用
git checkout HEAD^1 path/to/file
或
git checkout HEAD~1 path/to/file
然后,只是步行,并采取“新”版本。
武装着一个承诺可以有两个父母在合并的情况下,你应该知道,头1是第一个父母,头1是第二个父母。
或者它会工作,如果树上只有一个父母。
git checkout -- foo
這將重新安裝 foo 到 HEAD. 您也可以:
git checkout HEAD^ foo
一次重新审查等。
git-aliases, awk 和 shell 功能到救援!
git prevision <N> <filename>
在 <N> 是对 <filename> 文件进行回复的文件修订的数量. 例如,要检查单个文件 x/y/z.c 的即时以前修订,请运行
git prevision -1 x/y/z.c
GIT预测是如何工作的?
将以下内容添加到您的 gitconfig
[alias]
prevision = "!f() { git checkout `git log --oneline $2 | awk -v commit="$1" 'FNR == -commit+1 {print $1}'` $2;} ;f"
命令基本上在指定的文件上执行一个 git 登录,并在文件历史中查定适当的 commit-id,并执行指定的文件的 commit-id 的 git 支票。
基本上,每个人都会在这种情况下手动做的一切,包装在一个美丽而高效的吉特阿利亚 - 吉特预测
推荐文章
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何完全删除TFS绑定
- 哪些Eclipse文件属于版本控制?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '
- 如何拉特定的目录与git
- 本地存储库中的文件与源文件之间的差异