Git如何知道要推送到哪个存储库?

时间:2012-09-26 04:24:06

标签: linux git version-control push

在版本控制方面,我是一个完整的菜鸟,但我最近开始使用GitHub来托管我的一些项目。我盲目地使用命令git push origin master将更改推送到两个存储库中的任何一个。我不明白Git如何知道要推送到哪个存储库。我使用相同的命令推送到每个。我所在的目录是否与它有关?

感谢您为我解决此问题。

4 个答案:

答案 0 :(得分:3)

建议,“盲目地使用”任何东西都是一个坏主意。

git有一个remotes系统,允许指定URL和传输到您正在工作的存储库之外的存储库。 git push origin master将当前分支作为分支主机推送到远程调用源。你有一个远程叫做起源。从URL克隆存储库时,默认情况下会创建此选项。

答案 1 :(得分:3)

git remote add origin http://abc.com/def/ghi.git告诉git远程“起源”所指向的网址。

答案 2 :(得分:3)

使用git push origin master时,您没有推送到两个存储库 - 您正在推送到存储库中名称(别名)来源的主分支。

这样想:

我正在将我的东西推送到我的存储库地址。我在那里推动什么?我的主人分支。

如果你是新手并通过git init设置git,你可能不会推送到两个存储库。运行此命令以查看您的遥控器是什么:

git remote -v

这将返回类似的内容(假设你有像github这样的git托管服务):

blahblah    git@github.com:yourGithubName/fileName.git (fetch)
blahblah    git@github.com:yourGithubName/fileName.git (push)

git@github.com:yourGithubName/fileName.git是您的存储库地址。某些地址以h​​ttps://。

为前缀

答案 3 :(得分:1)

Git存储库包含一个.git目录,其中包含有关存储库的元数据。这就是Git用来确定推动变革的地方。