我是一个非常非常初学的git。我已经读过 chrome.tabs.query({
active: true,
currentWindow: true
}, function(tabs) {
var tabURL = tabs[0].url;
console.log(tabURL);
});
必须只执行一次 - 当repo为空时。
然而,我忘了并且第二次{
"manifest_version": 2,
"name": "Route zezo.org",
"version": "1.0",
"description": "Extraire la route proposée",
"permissions": [
"http://sail.zezo.org/*",
"tabs"
],
"icons": {
"16": "icon-16.png",
"48": "icon-48.png",
"128": "icon-128.png"
},
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
}
}
推了推。现在,当我git push --set-upstream origin master
时,我得到了
--set-upstream origin master
这是什么意思,我现在该做什么?
答案 0 :(得分:2)
我是一个非常非常初学的git。我已经读过
git push --set-upstream origin master
必须只执行一次 - 当repo为空时。
这不太对,有两种不同的方式。其中之一是这没关系:
然而,我忘了并第二次
--set-upstream origin master
推了推。
您可以根据需要多次执行此操作。
原始声明中的第二个缺陷是你永远不会 甚至一次。在第一个git push
上执行此操作既方便又好主意,但它不是要求。 1 此外,对于每个新到它的分支, 2 ,只要上游存储库为空,就做一次是个好主意。也就是说,“第一次推动”并不意味着“首先推动”,而是“首先推动每个新分支”。
每次在-u
使用--set-upstream
或git push
选项时,您都可以设置或重置(即不要更改),甚至执行更改,您刚刚推送的分支的上游设置。将分支 B 推送到名为origin
的远程创建或更新您的origin/B
远程跟踪分支, 3 ,然后将 B 的上游设置为origin/B
。如果它已经设置那样,没问题!如果它根本没有设置,现在它设置:yay!如果它设置为不同,现在它被设置为origin/B.
如果这就是你想要的设置:耶!如果不你想要它如何设置(这似乎不太可能),这只是坏事。
要了解您想要设置或更改上游的原因,请参阅this answer相关问题。请注意,您也可以取消任何给定分支的上游。
要查看更多历史记录,以及过去在Git 1.7及更早版本的旧时代如何使用,请参阅this question和this one。
Dhiraj's answer解释了您现在所看到的内容。
1 使用-u
本身并不是必需的。但是,如果另一个Git存储库(您要推送的存储库)不拥有同名的分支,和您的push.default
配置是{ {1}},simple
的替代方法是git push -u origin master
,即您必须指定两次分支名称。写git push origin master:master
一次更短,和将-u
的上游设置为新创建的master
,这是一件好事 - 所以它更短更好使用origin/master
一次,但不是必需。
2 当您运行-u
或git push
- 或git fetch
,它只运行git pull
然后再运行第二个Git命令时你的Git打电话给另一个Git。其他Git拥有自己的分支。这些分支有自己的提交,可能与您在分支机构的提交相匹配也可能不匹配。显然,一个新的,完全空的存储库有 no 提交(因此没有分支), 4 ,但是如果你创建了一个名为git fetch
的新分支,<他们的 Git可能还没有zorg
:分支对他们来说是新的。
3 您的远程跟踪分支 - 例如zorg
- 是您的 Git要记住的一种方式,为了您的方便,您的 Git从他们的(来源)Git获取关于他们的分支,上次您运行origin/master
或git fetch
到{{1 }}。这就是它们的用途。使用git push
(或origin
)可以随时更新所有内容,只要您认为它们可能已更改并且您想要查找。
4 哲学问题:分支存在意味着什么,但没有提交? 是否存在“空分支”这样的事情? (Git的答案主要是不,没有这样的东西,但还有其他的版本控制系统 - 我只是说“大部分”......)
答案 1 :(得分:1)
在GitHub,您可以选择默认签出的分支(即克隆时)。默认情况下,origin / HEAD将指向该值。
请参阅此链接了解更多详情 Why is "origin/HEAD" shown when running "git branch -r"?