【发布时间】:2011-09-12 15:53:51
【问题描述】:
我可能做错了什么。场景:3 台计算机:服务器、笔记本电脑和防火墙机器,没有互联网连接。
服务器上有一个 git repo,我想在防火墙机器上处理它,最后将在那里所做的更改传输回服务器。
我现在做的事情很失败,它是这样的:我使用笔记本电脑、tar 和 U 盘作为传输代理,有点像这样
laptop$ git clone http//server/.../project.git
laptop$ tar cvzf project.tar.gz project
然后通过 USB 将 tar 移动到防火墙的机器上,我这样做:
fwm$ tar xvzf project.tar.gz
fwm$ cd project
fwm$ git branch -a
* master
remotes/origin/x1
remotes/origin/x2
到目前为止,一切都很好。但是,如果我现在想签出某个分支(例如“x1”),我会收到以下消息:
fwm$ git co x1
error: pathspec 'x1' did not match any file(s) known to git.
我可以尝试通过完整路径强制我的方式,但这似乎也不稳定:
fwm$ git co remotes/origin/x1
Note: moving to 'remotes/origin/x1' which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
git checkout -b <new_branch_name>
我说“摇摇晃晃”,因为
fwm$ git status
# Not currently on any branch.
nothing to commit (working directory clean)
我做错了什么,在这种情况下正确的方法是什么?
【问题讨论】: