我正在尝试将更改推送到远程存储库,但由于某种原因我不能。
当我git branch
这就是我所看到的:
develop
feature/all_features
* feature/Tommaso
当我
git status
:On branch feature/Tommaso
nothing to commit, working directory clean
我可以
clone
repo 和 pull
从开发开始,但是当我这样做时 git pull
这就是我得到的:There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> feature/Tommaso
我想问题是远程仓库没有我在本地创建的当前分支。
编辑:我不够清楚:我想创建分支
feature/Tommaso
在 feature/allfeatures
.我是为那些认为我试图创建 develop
的分支的人说这些的。是这样吗?我该如何解决?
如果您需要其他信息来解决该问题,请告诉我。先感谢您
最佳答案
如果您正在使用分支,那么您必须与远程保持相同的分支以保持一致。假设您在远程仓库上有一个名为 foo 的分支,那么您还必须在本地保留一个分支名称 foo。
你怎么做到这一点。假设您的本地仓库中没有名为 foo 的分支,所以您这样做
$ git fetch
它将获取有关远程所有分支的信息到本地,这些信息可以从该命令的输出中清除。
然后你做一个
git branch
看看有哪些可用的分支。现在,您将能够在本地看到分支 foo。做一个 git checkout -b foo
这会将您的分支切换到 foo。使用 git log
看看你有最新的远程分支,其他做 git pull origin foo
.现在您可以使用 git push origin foo
.您评论中提到的日志表明您正在尝试从不同的分支中提取并与本地存储库中的其他分支一起工作。在开始工作之前切换分支,否则你会遇到 merge 冲突并弄乱 repo
关于git - 我可以克隆 repo 和 pull,但我不能推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45143909/