在版本控制方面,我是一个完整的菜鸟,但我最近开始使用GitHub来托管我的一些项目。我盲目地使用命令git push origin master
将更改推送到两个存储库中的任何一个。我不明白Git如何知道要推送到哪个存储库。我使用相同的命令推送到每个。我所在的目录是否与它有关?
感谢您为我解决此问题。
答案 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是您的存储库地址。某些地址以https://。
为前缀答案 3 :(得分:1)
Git存储库包含一个.git
目录,其中包含有关存储库的元数据。这就是Git用来确定推动变革的地方。