这是我做的:
git checkout -b branch_name
。branch_name
上做了一些提交。master
分支并进行了快速合并。当我运行git log branch_name --oneline
时,收到以下消息:
fatal: ambiguous argument 'branch_name': both revision and filename
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
可能是什么问题?
答案 0 :(得分:32)
它告诉你,你有一个名为'branch_name'的分支,还有一个名为'branch_name'的文件或目录。
如果您希望命令将'branch_name'视为分支,请使用
git log --oneline branch_name --
如果您希望将'branch_name'视为文件使用
git log --oneline -- branch_name
答案 1 :(得分:0)
如果遇到任何人在尝试以下情况时遇到上述错误,则此处是修复
问题: -
#In master branch
git checkout -b feature-a
#changed to feature-a branch
vi a.txt
git commit -m "adding a file" a.txt
git push
git diff master
fatal: ambiguous argument 'master': both revision and filename
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
解决方案: -
git diff origin/master
答案 2 :(得分:0)
通常情况下,我会使用类似的东西处理差异:
git diff -r 2e706c4dd3 -r 838112ed50 > codereview.txt
...制作一个很好的codereview.txt文件。好吧,我不小心跑了这个:
git diff -r 2e706c4dd3 -r 838112ed50 > 838112ed50
这使得文件838112ed50
本身,然后使git diff
命令变得模糊,关于我是否尝试区分文件或分支。