我显然不擅长使用git,尽管我尽了最大努力去理解它。
从kernel.org到git push
:
- u
——set-upstream
对于每个最新的或成功推送的分支,添加upstream(跟踪)引用,由无参数的git-pull(1)和其他命令使用。更多信息,请参见git-config(1)中的
branch.<name>.merge
。
下面是来自git config
的branch.<name>.merge
:
branch.<name>.merge
与
branch.<name>.remote
一起定义给定分支的上游分支。它告诉git fetch/git pull要合并哪个分支,也可以影响git push(参见push.default)。在分支<name>
中,它告诉git获取默认的refspec,标记为在FETCH_HEAD中合并。该值像refspec的远端部分一样处理,并且必须匹配从"branch.<name>.remote"
给出的远端获取的ref。merge信息被git pull(它首先调用git fetch)用来查找用于合并的默认分支。如果没有这个选项,git将默认合并获取的第一个refspec。指定多个值以获得章鱼合并。如果你希望设置git pull,以便它从本地存储库中的另一个分支合并到<name>
,你可以将branch.<name>.merge
指向所需的分支,并使用特殊设置。(句点)用于branch.<name>.remote
。
我成功地用github建立了一个远程存储库,我成功地将我的第一次提交到它:
git push -u origin master
然后,我无意中成功地将我的第二次提交推到我的远程存储库,使用:
git commit -m '[...]'
然而,错误地认为我必须再次从master
推到origin
,我运行:
# note: no -u
git push origin master
这有什么用?这似乎根本没有任何效果。我是否“撤销”了git push -u origin master
?