hub*_*ish 18 git remote-branch git-checkout
我试图按照Git的说明:"目前不在任何分支上." 有没有一种简单的方法可以回到分支上,同时保持变化?但git checkout似乎被打破了:
$ git checkout origin/web-zach
HEAD is now at 1366cb1... Changed so css files not ignored
$ git status
# Not currently on any branch.
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .cordova/config.xml
# www/languages/pt/sounds/
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)
更具体地说,我担心"目前没有任何分支"的消息.git checkout在这里似乎没有做任何事情......这个命令的全部目的不是把我放在树枝上吗?我怎样才能回到分支并再次提交/推送?
jub*_*0bs 44
输出git status表明您的工作目录是干净的; 好.
现在,通过运行
git checkout origin/web-zach
Run Code Online (Sandbox Code Playgroud)
你试图检查一个名为的远程跟踪分支origin/web-zach; 它是一种特殊类型的分支,在您web-zach的仓库本地,跟踪相应的分支,生活在名为的远程仓库中origin.
但是,HEAD引用(您可以将其视为地图上的" 你在这里"标记)无法指向远程跟踪分支; 仅限于"普通"本地分支,或直接提交.当试图检查出一个远程跟踪分支,所述HEAD参考结束指向直接在尖端远程跟踪分支的(即,提交到远程跟踪分支点):

如果HEAD没有指向"普通"本地分支,但直接指向提交,则最终处于所谓的"分离-HEAD状态".这不是世界末日,但尽可能避免在该州登陆(至少在你的Git学习开始时)可能会给你带来一些惊喜.
要纠正这种情况,您需要重新连接HEAD到某个本地分支.在这里,您可能希望通过运行来创建和签出这样的本地分支
git checkout -b web-zach
Run Code Online (Sandbox Code Playgroud)
HEAD然后将指向新创建的本地分支web-zach:

然后,你应该得到
$ git status
On branch web-zach
Untracked files:
(use "git add <file>..." to include in what will be committed)
.cordova/config.xml
www/languages/pt/sounds/
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)
之后,您可以自由地进行更改,暂存,提交,并且(如果您具有对应的远程仓库的写入权限,origin并且origin/web-zach自上次以来没有其他任何人推送过任何内容git fetch),推送,使用
git push -u origin web-zach
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27563 次 |
| 最近记录: |