- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
尽管我尽了最大努力去理解它,但我显然不擅长使用 git。
来自 kernel.org对于 git push
:
-u
--set-upstream
For every branch that is up to date or successfully pushed, add upstream (tracking) reference, used by argument-less git-pull(1) and other commands. For more information, see
branch.<name>.merge
in git-config(1).
这是 branch.<name>.merge
来自 git config
:
branch.<name>.merge
Defines, together with
branch.<name>.remote
, the upstream branch for the given branch. It tells git fetch/git pull which branch to merge and can also affect git push (see push.default). When in branch<name>
, it tells git fetch the default refspec to be marked for merging in FETCH_HEAD. The value is handled like the remote part of a refspec, and must match a ref which is fetched from the remote given by"branch.<name>.remote"
. The merge information is used by git pull (which at first calls git fetch) to lookup the default branch for merging. Without this option, git pull defaults to merge the first refspec fetched. Specify multiple values to get an octopus merge. If you wish to setup git pull so that it merges into<name>
from another branch in the local repository, you can pointbranch.<name>.merge
to the desired branch, and use the special setting . (a period) forbranch.<name>.remote
.
我成功地使用 github 设置了一个远程存储库,并成功地将我的第一个提交推送到它:
git push -u origin master
然后,我无意中成功地将我的第二次提交推送到我的远程存储库,使用:
git commit -m '[...]'
但是,错误地认为我必须再次推送到 origin
来自 master
,我跑了:
# note: no -u
git push origin master
那是做什么的?好像一点作用都没有。我“撤消”了吗git push -u origin master
?
最佳答案
关键是“无参数 git-pull”。当你做 git pull
从分支,不指定源远程或分支,git 查看 branch.<name>.merge
设置以知道从哪里 pull 。 git push -u
为您推送的分支设置此信息。
要查看差异,让我们使用一个新的空分支:
$ git checkout -b test
首先,我们在没有 -u
的情况下推送:
$ git push origin test
$ git pull
You asked me to pull without telling me which branch you
want to merge with, and 'branch.test.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like the following in your configuration file:
[branch "test"]
remote = <nickname>
merge = <remote-ref>
[remote "<nickname>"]
url = <url>
fetch = <refspec>
See git-config(1) for details.
现在如果我们添加 -u
:
$ git push -u origin test
Branch test set up to track remote branch test from origin.
Everything up-to-date
$ git pull
Already up-to-date.
请注意,已设置跟踪信息,以便 git pull
无需指定远程或分支即可按预期工作。
更新:奖励提示:
git pull
此设置还会影响 git push
的默认行为.如果你养成了使用 -u
的习惯要捕获您打算跟踪的远程分支,我建议设置您的 push.default
配置值为 upstream
.git push -u <remote> HEAD
会将当前分支推送到 <remote>
上的同名分支(并设置跟踪,以便您可以在之后执行 git push
)。关于git - "u"到底做了什么? "git push -u origin master"与 "git push origin master",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697750/
XMLHttpRequest cannot load http://localhost:8080/api/test. Origin http://localhost:3000 is not allow
Git diff 似乎在比较时返回不同的变化: git diff origin/master ... origin/branch git diff origin/master...origin/bra
我正在研究 3.1 Git Branching - Branches in a Nutshell 中的 git 分支概念 我正在玩虚拟存储库。 git log --oneline --decorate
我知道有很多类似的问题,唯一的区别是我从 **same ** 域提供的两个页面得到了这个。这可以在下面的示例中看到。 Uncaught DOMException: Blocked a fram
我被要求使用 Fork Workflow,即我必须处理具有相同或相似名称的多个分支。我为什么要使用这些不同的变体? 以下是不同命名约定的一些示例: 我的分支机构 起源我的分支 起源/我的分支机构 远程
这个问题已经有答案了: How do I delete a Git branch locally and remotely? (41 个回答) 已关闭 9 年前。 好的,我已经创建了一个 origin
这是我关于如何让 lerna 在 Jenkins 中运行的一系列问题的一部分。 上一期: lerna publish on Jenkins "git remote update" Fails "Cou
当我尝试从我的 Angular 6 应用程序访问 Webhdfs 时,我收到如下所示的错误。在我看来,我几乎尝试了所有方法,包括更改 core-site.xml 和 hdfs-site.xml 中的设
我正在从不同的来源向我的服务器发出 Ajax POST 请求以供用户登录。我已经在我的 application_controller.rb 中正确设置了 Cross Origin header : d
我刚刚克隆了一个存储库并在 Git 中开始了一个新分支。我已经这样做了很多次而没有遇到问题。今晚当我尝试使用 git branch --set-upstream develop origin/deve
我对 Git 还很陌生,但仍在掌握它的窍门。我最近才开始使用分支机构,遇到了一些问题。 我有两个开发系统,一个 Ubuntu 桌面和一个 MacBookPro。我在 Ubuntu 系统上的一个新的 o
这个问题在这里已经有了答案: Why does "git push main" work on GitHub when "git push master" does not? Also what i
我想从我的应用访问一个 API。 curl 请求是: curl --request POST https://... --header 'Authorization: Token ...'
我试图理解的遗留 makefile 具有 -Wl,-z,origin,-rpath,'$ORIGIN/../lib' 好的,我看到 -Wl 表示以下是链接器选项;逗号将替换为空格。 GNU ld 的联
我正在寻找 OpenShift Origin 和 OpenShift Enterprise 之间的主要区别。我知道第一个是开源的,后者是商业版。与开源版本相比,OpenShift Enterprise
我在 Sourcetree 中有这个历史图表: Sourcetree graph 如何将最后一次提交从 origin/development 复制到 origin/master 分支? 第二个问题:图
运行 git 命令时空格和斜杠有什么区别? 我有时会看到 git push origin master(这是一个空格) 还有其他时候我看到 git rebase origin/master(使用斜杠)
根据文档,git pull 执行 git fetch 然后执行 git merge,但是在那种情况下执行 git pull origin master 应该执行 git fetch origin ma
我正在使用我的 git 存储库,并在早些时候对 master 分支进行了相当多的提交。现在我意识到它有点太吵了,我想将所有这些 merge 到一个提交中。 102381 commit z .... 1
我制作了一个小的 xslt 文件来创建一个名为 weather.xsl 的 html 输出,代码如下: 我想将 html 输出加载到 html 文件中的 div 中,我正在尝试
我是一名优秀的程序员,十分优秀!