运行`git pull --rebase`,它基于什么?

时间:2018-09-11 03:04:42

标签: git git-merge git-rebase git-pull

我看到很多例子:

git pull --rebase

但是我不知道哪个分支合并到当前分支中。不是git pull --rebase <master>还是git pull --rebase <dev>

3 个答案:

答案 0 :(得分:4)

它首先获取origin/theBranch,然后将更改基于origin/theBranch


附有草图:

  • git pull --rebase之前:

    *--*--*--*--A <- origin/theBranch
                 \
                  M--Y <- theBranch   # your local branch
    
  • git pull --rebase步骤1:git fetch

    *--*--*--*--A--B--C--D <- origin/theBranch
                 \
                  M--Y <- theBranch
    
  • git pull --rebase步骤2:git rebase origin/theBranch

    *--*--*--*--A--B--C--D <- origin/theBranch
                          \
                           M'--Y' <- theBranch
    

答案 1 :(得分:1)

它将从远程拉出您正在使用的当前分支,并将其重新部署到本地分支。

  

git-pull -从另一个存储库或本地获取并与之集成   分支

     

git-rebase -将本地提交转发到更新的上游头

现在

  

git pull --rebase = git fetch + git rebase禁止跟踪上游   分支

用例:假设您和您的队友正在同一分支上共同开发一项新功能。他进行了一些更改并将其推向远程。现在,您需要获取分支并对其重新设置基础,以合并他的更改。

您也可以使用git pull --rebase <currentBranch>代替git pull --rebase

如果您明确希望将另一个分支更改合并到本地分支,则可以使用git pull --rebase <otherBranch>

答案 2 :(得分:-2)

使用其他人的存储库时,需要记住一些基本的Git命令:

git clone
git fetch
git merge
git pull

这些命令在与远程存储库进行交互时非常有用。 clonefetch将远程代码从资源库的远程URL下载到本地计算机。 merge用于将不同人的工作与您的工作合并在一起,而pull是提取和合并的组合。

我们将在下面深入介绍这些命令。

克隆

要获取另一个用户存储库的完整副本,请使用git clone这样:

git clone https://github.com/USERNAME/REPOSITORY.git

将存储库克隆到您的计算机

克隆存储库时,可以从几个不同的URL中进行选择。登录GitHub时,这些URL可在存储库详细信息下方找到: Running `git pull --rebase`, what does it rebase against?