为什么我不能在创建远程仓库后执行git push?

时间:2017-12-16 03:18:47

标签: git github git-push

创建一个新的GitHub仓库非常简单。在命令行上:

git init
git add .
git commit -m "Initial commit"

然后你进入GitHub并创建你的repo,为它创建一个Git URL,比如https://github.com/<myuser>/<myRepo>.git等。然后你回到命令行:

git remote add origin https://github.com/<myuser>/<myRepo>.git
git push -u origin master

瞧 - 你有一个git回购!然而,有些东西并不适合我。发出此命令后:

git remote add origin https://github.com/<myuser>/<myRepo>.git

然后我的理解是你的本地回购是&#34;连接到&#34; (被追踪)远程GitHub仓库的远程master分支(再次:https://github.com/<myuser>/<myRepo>.git)。

那么为什么我在下一个命令中需要-u origin master也就是说,为什么我需要上面的上一个命令git push -u origin master,而不仅仅是{{} 1}}?当地的回购是&#34;连接&#34;对远程大师吧?!那么为什么我只能git push呢?

1 个答案:

答案 0 :(得分:3)

运行git remote add...只标记远程网址。它没有连接&#34;任何东西。特别是,它不会在您的本地分支和远程分支之间建立任何关联。此基于每个分支发生(也就是说,将存储库连接到另一个存储库是没有意义的;您只能谈论各个分支的跟踪)。仅当git checkout与远程分支对应的本地分支时,或者在运行-u时使用git push明确设置跟踪信息时,才会设置跟踪关系。

考虑一种你有多个遥控器的情况,例如:你运行了类似的东西:

git remote add upstream ...
git remote add origin ...
git remote add anotherdeveloper ...

如果您有一个名为master的本地分支,除非您明确告诉git,否则哪些远程设备应git push发送您的更改?