如何 git checkout -b 从两周前或特定日期开始?
How to git checkout -b from two weeks ago or from an specific date?
我正在尝试从 master
分支检出我的代码的旧版本,我正在执行以下操作:
git checkout -b master_de1974 `git rev-list -n 1 --before="5 days ago" master`
这是正确的命令吗?我如何确定我得到的是旧代码而不是新代码?
您应该参考特定的提交以确保您使用的是您期望的 "position" 代码版本。
要查找提交编号,您可以检查 github/bitbucket 或您的远程存储库。如果您还没有 "UI repository",您可以使用 git log
命令列出您的提交,https://git-scm.com/docs/git-log,例如:
git log -n10
将显示已保存到树中的最后 10 个提交。一旦你找到你的提交,你可以从这里创建你的新分支:
git checkout -b master_de1974 a9c146a09505837ec03b
其中 a9c146a09505837ec03b 是您的提交编号。然后你可以确定你是好的 date/commit,再次输入
git log -n1
它应该会显示您选择返回的提交。
我认为这是可行的(不是我的答案),我试过了并且似乎有效:
https://gist.github.com/viktorkelemen/5101763
git checkout $(git rev-list -n1 --before="2 weeks ago" master)
我正在尝试从 master
分支检出我的代码的旧版本,我正在执行以下操作:
git checkout -b master_de1974 `git rev-list -n 1 --before="5 days ago" master`
这是正确的命令吗?我如何确定我得到的是旧代码而不是新代码?
您应该参考特定的提交以确保您使用的是您期望的 "position" 代码版本。
要查找提交编号,您可以检查 github/bitbucket 或您的远程存储库。如果您还没有 "UI repository",您可以使用 git log
命令列出您的提交,https://git-scm.com/docs/git-log,例如:
git log -n10
将显示已保存到树中的最后 10 个提交。一旦你找到你的提交,你可以从这里创建你的新分支:
git checkout -b master_de1974 a9c146a09505837ec03b
其中 a9c146a09505837ec03b 是您的提交编号。然后你可以确定你是好的 date/commit,再次输入
git log -n1
它应该会显示您选择返回的提交。
我认为这是可行的(不是我的答案),我试过了并且似乎有效: https://gist.github.com/viktorkelemen/5101763
git checkout $(git rev-list -n1 --before="2 weeks ago" master)