0

我尝试多次运行:

git checkout mygithub/master

不幸的是,它没有检查这个分支:

git status
# Not currently on any branch.
nothing to commit (working directory clean)

那么我该怎么做才能签出分支并推送提交呢?

4

2 回答 2

2
git clone git@github.com:myusername/myrepo.git
cd myrepo
git checkout master

然后编辑你的文件

git status
git add .
git commit
git push origin master
于 2012-05-02T00:09:30.837 回答
1

不幸的是,它没有检查这个分支

问题实际上是它确实检查了那个分支(或者更确切地说,那个分支头部的提交),但这不是你想要它做的。

一些背景知识:当您将远程 ( github) 添加到本地存储库时,您的本地存储库会github/master为该远程的所有分支创建“远程分支”( )。当您说 时git checkout github/master,您是在告诉 git 让您离开任何本地分支,并将您的工作副本更新为该时间点远程仓库的状态。您只能在本地分支上提交,因此会出现问题。有关详细信息,请参阅文档git checkout

通过这样做git checkout master,您正在做两件事:首先,最重要的是,创建一个名为的本地分支master,默认情况下设置为跟踪它可以找到的具有相同名称的任何远程分支(希望github/master在这种情况下),然后让您使用分支并使用其内容更新您的工作副本。请参阅文档git branch(因为第一步是创建分支)和git config下面的文档branch.autosetupmerge以了解幕后发生的事情。

于 2012-05-02T01:29:09.193 回答