git pull之间的区别.master vs git merge master

Hot*_*hke 22 git git-merge

没有远程存储库,只有一个具有两个分支的本地存储库.

$ git branch -a
  master
* devel
Run Code Online (Sandbox Code Playgroud)

以下命令在此上下文中是相同的/同义词吗?

$ git pull . master
Run Code Online (Sandbox Code Playgroud)

$ git merge master
Run Code Online (Sandbox Code Playgroud)

更新:

$ git help pull 提供以下信息

SYNOPSIS
   git pull <options> <repository> <refspec>...

DESCRIPTION
   ...
   Note that you can use . (current directory) as the <repository> to pull
   from the local repository — this is useful when merging local branches
   into the current branch.
Run Code Online (Sandbox Code Playgroud)

我实际上不明白为什么这个有用,如本手册中所述.

Bal*_*Pal 16

pull是一个组合命令,fetch后跟merge.使用默认或合理的参数,它将同步您当前的分支.

随着问题的解决,大多数工作都被破坏了.取消部分被推翻以使用当前的repo,因此跳过,并明确要求主控覆盖FETCH_HEAD.

所以在那种形式中我相信它们是相同的(我也把第一个放在废话类别中).


CB *_*ley 13

git pull . master从当前存储库中获取(无操作),然后执行某些操作以使当前分支更新master.这可能是一个合并但它也可能是一个rebase取决于配置设置pull.rebasebranch.master.rebase.

在合并的情况下,合并策略受到影响pull.twohead.

git merge master 将始终将master与默认合并策略合并.


rad*_*tao 5

唯一的区别 - 在第二种情况 ( git merge master) 中,它将与不是新鲜数据合并,而是与上次远程更新的数据合并。因此,如果您刚刚制作了fetch(或git remote update) - 它们的工作方式相同,但如果您很久以前更新了本地存储库 - 它将与旧快照合并。

不确定句号git pull . master是否是正确的语法......