什么是我的默认git repo for commiting?

时间:2011-06-22 18:18:25

标签: git commit

如果我输入git remote -v,我会得到一些git repos:

origin  git@github.com:me/MyProject.git (fetch)
origin  git@github.com:me/MyProject.git (push)
testheroku  git@heroku.com:test.git (fetch)
testheroku  git@heroku.com:test.git (push)
upstream    git://github.com:me/MyProject.git (fetch)
upstream    git://github.com:me/MyProject.git (push)

我刚刚在README文件上运行了“git commit”,并希望这可以更新MyProject.git上的文件 - 这似乎不是这种情况。我错了吗?

另外,有人可以澄清上游是什么吗?这是否意味着我领先于分支机构或究竟是什么?

谢谢,   Gearoid。

3 个答案:

答案 0 :(得分:4)

提交是本地的。你需要推动它们。

git push origin mybranch # this is probably master in your case

如果您始终执行此操作,则可以设置默认值,以确定将推送更改的遥控器。那么你可以

git push

根据您的配置,您对任何分支机构的更改都会转到任何遥控器。你第一次推,你可以

git push -u origin mybranch

这将设置该分支自动包含以推送到该存储库。随后的

git push

将等同于

git push origin mybranch

为了更加熟悉,请查看

git remote show
git remote show origin
git config -l

此外,您可能不需要最后一个遥控器。你可以用

摆脱它
git remote rm upstream

希望这有帮助

答案 1 :(得分:1)

提交时,您将提交到本地存储库。每个git工作目录都有一个相关的仓库。

origin,testheroku和upstream都是你可以轻松推送的遥控器(你也可以明确地使用未列出的仓库)。

如果你这样做:

git push

它可能(取决于配置)自动推送到origin的{​​{1}}分支。

此外,第一个和第三个似乎是相同的回购,只是使用不同的URL。

您也可以根据需要在本地创建分支,但这是一个不同的主题。

答案 2 :(得分:0)

git remote -v show
git branch -vv
git config branch.$branch.remote

git remote -v show显示有关您的遥控器的有趣信息

git branch -vv命令将向您显示特定分支的上游,默认情况下,可能是

然而git config branch.master.remote是确定git push

时确定推送位置的唯一绝对方法