5

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

感谢您为我解决这个问题。

4

4 回答 4

3

一句忠告,“盲目使用”任何东西都是一个坏主意。

git 有一个远程系统,它允许指定 URL 并传输到您正在工作的存储库以外的存储库。git push origin master将当前分支推送到远程称为 origin 作为分支主控。您有一个名为 origin 的遥控器。这是从 URL 克隆存储库时默认创建的。

于 2012-09-26T04:31:48.533 回答
3

git remote add origin http://abc.com/def/ghi.git告诉 git 远程 'origin' 指向的 url。

于 2012-09-26T04:32:17.157 回答
3

当您使用 时git push origin master,您不会推送到两个存储库 - 您正在推送到存储库中名称(别名)为 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 是你的仓库地址。一些地址以 https:// 为前缀。

于 2012-09-27T15:21:47.083 回答
1

Git 存储库包含一个.git目录,其中包含有关存储库的元数据。这就是 Git 用来确定将更改推送到何处的方法。

于 2012-09-26T04:27:35.543 回答