按日期签出的Git会在Windows上出错

时间:2015-09-17 23:37:50

标签: windows git github

我想从git结帐并使用此SO-link中的命令。我不确定我在这里做错了什么。

我尝试过以下命令。

<%= render 'path/to/partial/file2', var2: var1 %>

并收到以下错误。

git checkout `git rev-list -n 1 --before="2015-3-3 13:37:00" master`
git checkout `git rev-list 1 --before="2015-3-3 13:37:00" master`
git checkout `git rev-list -1 --before="2015-3-3 13:37:00" master`

但是以下命令有效,但我想,它可以追溯到90天。

C:\Users\junaid\Documents\GitHub\bucardo [master]> git checkout `git rev-list -n 1 --before="2015-3-3 13:37:00" master`
error: unknown switch `n'
usage: git checkout [options] <branch>
   or: git checkout [options] [<branch>] -- <file>...

    -q, --quiet           suppress progress reporting
    -b <branch>           create and checkout a new branch
    -B <branch>           create/reset and checkout a branch
    -l                    create reflog for new branch
    --detach              detach the HEAD at named commit
    -t, --track           set upstream info for new branch
    --orphan <new branch>
                          new unparented branch
    -2, --ours            checkout our version for unmerged files
    -3, --theirs          checkout their version for unmerged files
    -f, --force           force checkout (throw away local modifications)
    -m, --merge           perform a 3-way merge with the new branch
    --overwrite-ignore    update ignored files (default)
    --conflict <style>    conflict style (merge or diff3)
    -p, --patch           select hunks interactively
    --ignore-skip-worktree-bits
                          do not limit pathspecs to sparse entries only

1 个答案:

答案 0 :(得分:1)

在Bash(以及许多其他Unixy shell)中,反引号用于命令替换,例如见this description from The Linux Documentation Project

  

命令替换允许输出命令来替换命令本身。当命令被包含在这样的命令时发生命令替换:

$(command)
     

或像这样使用反引号:

`command`
     

Bash通过执行COMMAND并使用命令的标准输出替换命令替换来执行扩展,删除任何尾随换行符。嵌入的换行不会被删除,但在分词时可能会被删除。

franky ~> echo `date`
Thu Feb 6 10:06:20 CET 2003

我认为cmd.exe根本不支持真正的命令替换。它肯定不会以这种方式对待反叛。

您可以尝试一些解决方法,例如使用for /ftemporary files,但这些都很难使用。

根据您安装Git的方式,您可以访问应该按照您希望的方式运行的Bash shell on Windows

如果您有权访问PowerShell looks like the $(...) syntax should work,Bash也支持此功能。 posh-git在PowerShell上作为Git的环境享有良好的声誉,尽管我从未亲自使用它。