- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我检查了一个名为 foo
的 git 分支。
> git status
# On branch foo
nothing to commit (working directory clean)
它最初是使用以下命令 check out 的:
> git checkout origin/foo -b foo --track
我想从远程仓库获取这个分支的更新。我知道这些命令中的任何一个都足够了:
> git fetch origin foo # ignore the lack of merging
> git pull origin foo
如果我省略 fetch
或 pull
的参数,git 会默认获取(或 pull )我当前 checkout 的分支吗? 也就是说,下面这几对命令是等价的吗?
> git checkout foo
> git pull
和
> git checkout foo
> git pull origin foo
最佳答案
不幸的是,它们是否等价通常取决于你在哪个分支、你的配置、月相等。
您可以从 git pull
中算出这一点手册页,正如我在下面描述的那样,但我通常会尽量避免通过这样做来解决这个问题:git fetch origin
然后 git merge origin/foo
. (我写了一个 somewhat rambling blog post about this 。)
但是,您的问题实际上是关于 git pull
的默认行为的当您不指定远程或 refspec 时。我们可以从 git pull
man page 中算出这一点,特别是 DEFAULT BEHAVIOUR
section .这有点难以理解,所以我将唯一真正适用于你的问题的部分加粗,因为 (a) 你在分支 foo
上。 ,(b) 您按照问题中的描述创建了该分支,并且 (c) 您没有更改配置。
Often people use git pull without giving any parameter. Traditionally, this has been equivalent to saying
git pull origin
. However, when configurationbranch.<name>.remote
is present while on branch<name>
, that value is used instead oforigin
.In order to determine what URL to use to fetch from, the value of the configuration
remote.<origin>.url
is consulted and if there is not any such variable, the value onURL:
line in$GIT_DIR/remotes/<origin>
file is used.In order to determine what remote branches to fetch (and optionally store in the remote-tracking branches) when the command is run without any refspec parameters on the command line, values of the configuration variable
remote.<origin>.fetch
are consulted, and if there aren’t any,$GIT_DIR/remotes/<origin>
file is consulted and itsPull:
lines are used. In addition to the refspec formats described in the OPTIONS section, you can have a globbing refspec that looks like this:
refs/heads/*:refs/remotes/origin/*
A globbing refspec must have a non-empty RHS (i.e. must store what were fetched in remote-tracking branches), and its LHS and RHS must end with
/*
. The above specifies that all remote branches are tracked using remote-tracking branches inrefs/remotes/origin/
hierarchy under the same name.The rule to determine which remote branch to merge after fetching is a bit involved, in order not to break backward compatibility.
If explicit refspecs were given on the command line of git pull, they are all merged.
When no refspec was given on the command line, then git pull uses the refspec from the configuration or
$GIT_DIR/remotes/<origin>
. In such cases, the following rules apply:
If branch.<name>.merge
configuration for the current branch exists, that is the name of the branch at the remote site that is merged.If the refspec is a globbing one, nothing is merged.
Otherwise the remote branch of the first refspec is merged.
当您创建分支时 foo
与:
git checkout origin/foo -b foo --track
... 它将设置以下配置选项,这些选项关联您的分支 foo
与 refs/heads/foo
在origin
存储库:
branch.foo.remote=origin
branch.foo.merge=refs/heads/foo
所以,如果你把它和上面的大胆句子放在一起,答案是“是的,在你描述的这种情况下,当你在分支 foo
上时,命令 git pull
和 git pull origin foo
是等价的。 "
关于不带参数的 Git 获取和 pull ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6860893/
运行 PostgreSQL(7.4 和 8.x),我认为这是可行的,但现在我遇到了错误。 我可以单独运行查询,它工作得很好,但如果我使用 UNION 或 UNION ALL,它会抛出错误。 这个错误:
我试图为我的应用程序创建一个导航,使用抽屉导航我的 fragment 之一(HomeFragment)有一个 ViewPager,可容纳 3 个 fragment (Bundy Clock、Annou
以我目前正在开发的应用为例: - 它有一个包含多个项目的抽屉导航;现在有两个项目让我感兴趣,我将它们称为 X 和 Y。 X 和 Y 都在单击时显示包含 x 元素或 y 元素列表的 fragment 选
我有一个形状为 (370,275,210) 的 NumPy 数组,我想将其重新整形为 (275,210,370)。我将如何在 Python 中实现这一点? 370是波段数,275是行数,210是图像包
我们如何与被子 UIViewController 阻止的父 UIViewController(具有按钮)交互。显然,触摸事件不会通过子 Nib 。 (启用用户交互) 注意:我正在加载默认和自定义 NI
我是 Jpa 新手,我想执行过程 我的代码如下 private static final String PERSISTENCE_UNIT_NAME = "todos"; private static
与安装了 LAMP 的 GCE 相比,选择与 Google Cloud SQL 链接的 GCE 实例有哪些优势? 我确定 GCE 是可扩展的,但是安装在其上的 mysql 数据库的可扩展性如何? 使用
这个问题在这里已经有了答案: Value receiver vs. pointer receiver (3 个答案) 关闭 3 年前。 我刚接触 golang。只是想了解为 Calc 类型声明的两种
我不小心按了一个快捷键,一个非常漂亮的断线出现在日期上。 有点像 # 23 Jun 2010 -------------------- 有人知道有问题的快捷方式吗?? (我在 mac 上工作!) 在
我正在Scala中编写正则表达式 val regex = "^foo.*$".r 这很好,但是如果我想做 var x = "foo" val regex = s"""^$x.*$""".r 现在我们有
以下 XML 文档在技术上是否相同? James Dean 19 和: James Dean 19 最佳答案 这两个文档在语义上是相同的。在 X
我在对数据帧列表运行稳健的线性回归模型(使用 MASS 库中的 rlm)时遇到问题。 可重现的示例: var1 <- c(1:100) var2 <- var1*var1 df1 <- data.f
好的,我有一个自定义数字键盘,可以在标签(numberField)中将数字显示为 0.00,现在我需要它显示 $0.00。 NSString *digit = sender.currentTitle;
在基于文档的应用程序中,使用 XIB 文件,创建新窗口时其行为是: 根据最后一个事件的位置进行定位和调整大小 window 。 如果最后一个事件窗口仍然可见,则新窗口 窗口应该是级联的,这样它就不会直
我想使用参数进行查询,如下所示: SELECT * FROM MATABLE WHERE MT_ID IN (368134, 181956) 所以我考虑一下 SELECT * FROM MATABLE
我遇到一些性能问题。 我有一个大约有 200 万行的表。 CREATE TABLE [dbo].[M8]( [M8_ID] [int] IDENTITY(1,1) NOT NULL,
我在 jquery 中的按键功能遇到问题。我不知道为什么按键功能不起作用。我已经使用了正确的 key 代码。在我的函数中有 2 个代码,其中包含 2 个事件键,按一个键表示 (+) 代码 107 和(
我想显示音频波形,我得到了此代码,它需要.raw音频输入并显示音频波形,但是当我放入.3gp,.mp3音频时,我得到白噪声,有人可以帮助我如何使其按需与.3gp一起使用使用.3gp音频运行它。 Inp
我无法让 stristr 函数返回真值,我相信这是因为我的搜索中有一个 $ 字符。 当我这样做时: var_dump($nopricecart); 完整的 $nopricecart 值是 $0 ,我得
如果我有这样的循环: for(int i=0;i O(n) 次。所以do some执行了O(n)次。如果做某事是线性时间,那么代码片段的复杂度是O(n^2)。 关于algorithm - 带 If 语
我是一名优秀的程序员,十分优秀!