为什么我不能在创建远程仓库后直接执行 git 推送?
Why can't I just do git push after creating remote repo?
创建新的 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
那么我的理解是你的本地仓库是"connected to"(再次被跟踪)你的远程Git的远程master
分支集线器回购(再次:https://github.com/<myuser>/<myRepo>.git
)。
那为什么我在下一个命令上需要 -u origin master
? 也就是说,为什么我需要上面的最后一个命令是 git push -u origin master
,而不仅仅是 git push
?!本地回购是 "connected" 到远程主机,对吧?!那么为什么我不能 git push
它呢?
运行 git remote add...
只是标记了一个遥控器 URL。它没有 "connect" 任何东西。特别是,它不会在您的本地分支机构和远程分支机构之间建立任何关联。这 仅 发生在每个分支的基础上(也就是说,说您的 存储库 连接到另一个 repository; 只能从个别分支来谈追踪)。只有当你git checkout
一个本地分支对应一个远程分支时,或者你在运行宁git push
时用-u
显式设置跟踪信息时,才会建立跟踪关系。
考虑您有多个遥控器的情况,例如你有 运行 类似的东西:
git remote add upstream ...
git remote add origin ...
git remote add anotherdeveloper ...
如果您有一个名为 master
的本地分支,除非您明确告知 git,否则应该 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
那么我的理解是你的本地仓库是"connected to"(再次被跟踪)你的远程Git的远程master
分支集线器回购(再次:https://github.com/<myuser>/<myRepo>.git
)。
那为什么我在下一个命令上需要 -u origin master
? 也就是说,为什么我需要上面的最后一个命令是 git push -u origin master
,而不仅仅是 git push
?!本地回购是 "connected" 到远程主机,对吧?!那么为什么我不能 git push
它呢?
运行 git remote add...
只是标记了一个遥控器 URL。它没有 "connect" 任何东西。特别是,它不会在您的本地分支机构和远程分支机构之间建立任何关联。这 仅 发生在每个分支的基础上(也就是说,说您的 存储库 连接到另一个 repository; 只能从个别分支来谈追踪)。只有当你git checkout
一个本地分支对应一个远程分支时,或者你在运行宁git push
时用-u
显式设置跟踪信息时,才会建立跟踪关系。
考虑您有多个遥控器的情况,例如你有 运行 类似的东西:
git remote add upstream ...
git remote add origin ...
git remote add anotherdeveloper ...
如果您有一个名为 master
的本地分支,除非您明确告知 git,否则应该 git push
将您的更改发送到哪些远程分支?