创建一个新的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
呢?
答案 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
发送您的更改?