Git:如何访问作为另一个提交的一部分但尚未推送的文件

Git:如何访问作为另一个提交的一部分但尚未推送的文件,git,git-checkout,Git,Git Checkout,我有两个兄弟分支,旧的和新的。Old当前已提交,但挂起代码审阅(尚未推送到远程)。新开的是我刚开的一家分店 我在New上的工作需要一个文件foo.java,我是作为Old的一部分编写的,目前正在进行代码审查。我怎样才能让新分支访问foo.java,而不推送旧分支 我已尝试在New上运行此选项: git checkout Old--foo.java 结果:错误:pathspec'foo.java'与git已知的任何文件都不匹配。 类似地:git show Old:foo.javagits 致命:路

我有两个兄弟分支,旧的和新的。Old当前已提交,但挂起代码审阅(尚未推送到远程)。新开的是我刚开的一家分店

我在New上的工作需要一个文件foo.java,我是作为Old的一部分编写的,目前正在进行代码审查。我怎样才能让新分支访问foo.java,而不推送旧分支

我已尝试在New上运行此选项:
git checkout Old--foo.java

结果:
错误:pathspec'foo.java'与git已知的任何文件都不匹配。

类似地:
git show Old:foo.java
gits
致命:路径'foo.java'在'Old'中不存在。


如果有一种方法可以这样做,即如果我的代码审查需要对foo.java进行更改,那么在推送旧代码和重新设置新代码之后,可以进行干净的合并。

您可以返回到
Old
并从那里分叉一个分支开始工作。

也许您的foo.java在子目录中?我有几点困惑。
old
new
是否在同一克隆中?如果是这样的话,我不理解它没有被推动的相关性。(但我想反过来说,如果不是这样的话,这可以解释您的
git checkout
命令的问题。)此外,虽然这可能并不重要,但如果您的代码没有被推送,人们会如何查看它?远程回购的要点是它是协作的枢纽…@MarkAdelsberger他们在同一个本地回购中,如果你是这个意思的话。我不认为这有什么关系,这是一个不依赖git推送将代码发送到在线审查工具的过程。@TLJ我尝试了每一种路径变化(
foo.java
/foo.java
dir1/foo/java
/dir1/foo.java
),但都不起作用。从旧分支开始工作对你来说没有用吗?