我想从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
答案 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 /f
或temporary files,但这些都很难使用。
根据您安装Git的方式,您可以访问应该按照您希望的方式运行的Bash shell on Windows。
如果您有权访问PowerShell looks like the $(...)
syntax should work,Bash也支持此功能。 posh-git
在PowerShell上作为Git的环境享有良好的声誉,尽管我从未亲自使用它。