在网上一篇文章上看到,git push操作的完整命令是:
“git push <远程主机名> <本地分支名>:<远程分支名>”
文章的作者还说了,“如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
$ git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
”
我在本地新建仓库“bendi”,github上新建远程仓库“origin”,然后本地仓库push到远程。
没有设置set-upstream,并且第一次push的时候也没加-u参数,而是直接“git push origin master”。
问题:现在本地仓库“bendi”和远程仓库“origin”之间应该没有“追踪关系”把,为什么我还是可以通过“git push origin master”这种不带远程分支名的命令来push到远程呢?bendi和origin这2个仓库没有设置过追踪关系啊。
これを説明するのは難しくありません。
現在のフォルダーで
git Remote add
を実行した場合、コマンドは次のようになりますgit remote add
,命令应该是git remote add origin https://github.com/yourName/yourRepo.git
一般都会这么打。。这样一来,origin 就指向你的远程库。你可以试试,把 origin 从那条命令中去掉,应该会报错。如果你是用
git clone
把远程库 clone 了下来,那么应该是会自动帮你设置好 origin 指向。但是有一点你要注意。。到目前为止说的
origin
不是仓库名。。而是给远程仓库在本地起的一个别名。对于你的情况,你说要“github上新建远程仓库‘origin’”,我有一点儿懵==!仓库名,一般不会叫 origin 。。比如你的项目叫 Angular-Table, 那么你需要做的就是
git remote add origin https://github.com/yourName/Angular-Table.git
。这样一来,你就可以用git push origin master
来推送更改了。再说 branch 的事儿。
git push origin master
意思就是,把你本地的master branch 推送到远程 origin。如果写成git push origin master:foo
,意思就是把本地的master branch 推送到远程的 foo branch。顺便,这里引出一个黑科技。。比如我想删除远程的 foo branch, 命令就是:
git push origin :foo
你可以通过
git branch
来查看本地有什么branch。也可以通过git remote -v
来查看远程有什么 branch。顺便,git remote -v
git リモート追加オリジン https://github.com/yourName/yourRepo.git
普段はこんな感じです。 。このようにして、origin はリモート ライブラリを指します。そのコマンドからoriginを削除してみると、エラーが発生するはずです。git clone
を使用してリモート ライブラリのクローンを作成すると、オリジン ポインタが自動的に設定されます。 しかし、注意すべきことが1つあります。 。これまでに述べたorigin
はウェアハウス名ではありません。 。代わりに、これはリモート ウェアハウスにローカルで与えられるエイリアスです。 あなたの場合、「github 上に新しいリモート ウェアハウス 'origin' を作成」したいと言っていましたが、少し混乱しています ==!倉庫名は通常は産地とは言いません。 。たとえば、プロジェクトの名前が Angular-Table の場合、必要なのはgit Remote addorigin https://github.com/yourName/Angular-Table.git
だけです。このようにして、git Push Origin master
を使用して変更をプッシュできます。 ブランチについて話しましょう。git Push Origin master
は、 ローカルマスター ブランチをリモート オリジンにプッシュすることを意味します。git Pushorigin master:foo
と記述されている場合は、 ローカルのマスター ブランチをリモートの foo ブランチにプッシュすることを意味します。 ところで、ブラックテクノロジーが登場します。 。たとえば、リモートの foo ブランチを削除したい場合、コマンドは次のとおりです:git Pushorigin :foo
git ブランチ
を通じて、どのブランチがローカルで利用可能であるかを確認できます。git remote -v
を使用して、リモートにどのようなブランチがあるかを確認することもできます。ちなみに、git remote -v
でリモートの情報を見ることができるので、ぜひ試してみてくださいリモートにマスター ブランチがあるかどうかを確認してください
次のコマンドを実行してブランチを表示できます
リーリーupstream
この記事はあなたの役に立つはずです