我可以克隆回购并拉动,但我无法推动

时间:2017-07-17 12:07:15

标签: git github push

我正在尝试将更改推送到远程仓库,但由于某种原因我不能。

当我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

分支的人说这个 是吗?我该如何解决?

告诉我您是否需要其他信息来解决问题。提前谢谢

5 个答案:

答案 0 :(得分:1)

  

我想问题是远程仓库没有我在本地创建的当前分支

我也认为这是问题所在。首先,push当前分支带有-u标志(设置为上游),然后尝试git pull

$ git push -u origin HEAD

N.B: -u = --set-upstream告诉Git记住参数,以便下次我们可以简单地运行git pullgit push

当你只运行git pull而没有提到分支名称时,git会尝试从跟踪远程分支中提取。

$ git pull

如果你想拉另一个远程分支,那么只需提及分支名称。

$ git pull origin <branch-name>

如果您想要feature/Tommaso的新分支feature/allfeatures,请按以下步骤操作:

$ git checkout feature/allfeatures
$ git checkout -b feature/Tommaso
$ git push origin HEAD

现在,feature/allfeaturesfeature/Tommaso具有相同的更改/提交。

答案 1 :(得分:1)

尝试以下命令。

$ git pull origin <branch_name>

$ git push origin HEAD:refs/for/<branch_name>

如果您想创建自己的集成分支。

$ git checkout -b <integration branch name> origin/<origin branch name>

$ git push origin <integration branch name>

答案 2 :(得分:1)

如果您正在使用分支机构,那么您必须与远程分支机构保持相同的分支以保持一致。假设你在远程仓库上有一个名为foo的分支,那么你必须在本地保留一个分支名称foo。

你是怎么做到的。假设您的本地仓库中没有名为foo的分支,那么您可以

$ git fetch

它将获取有关远程地址中所有分支的信息,这些信息可以从此命令的输出中清除。

然后你做一个git branch来查看可用的分支。现在,您将能够在本地看到分支foo。做一个git checkout -b foo这会将你的分支切换到foo。使用git log查看您是否拥有远程其他分支的最新分支git pull origin foo。现在您可以使用git push origin foo

您评论中提到的日志表明您正试图从其他分支机构撤出并与本地仓库中的其他分支机构合作。在开始工作之前切换分支,否则你将在合并冲突中运行并搞乱仓库

答案 3 :(得分:1)

正如其他已经说过的那样,没有名为

的分支

使用此代码

git push origin <your branch name>

已编辑

你已经完成了吗?

git remote set-url origin https://github.com/MyRepo/project.git

答案 4 :(得分:0)

如果您对 repo 有读但没有写权限,您可能会遇到这种情况。