精华内容
下载资源
问答
  • git pull 详解

    万次阅读 2017-03-25 11:34:34
    git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。$ git pull :比如,取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。$ git pull ...

    git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。

    $ git pull <远程主机名> <远程分支名>:<本地分支名>

    比如,取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。

    $ git pull origin next:master

    如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

    $ git pull origin next

    上面命令表示,取回origin/next分支,再与当前分支合并。实质上,这等同于先做git fetch,再做git merge。

    $ git fetch origin
    $ git merge origin/next

    在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动”追踪”origin/master分支。

    Git也允许手动建立追踪关系。

    git branch --set-upstream master origin/next

    上面命令指定master分支追踪origin/next分支。

    如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。

    $ git pull origin

    上面命令表示,本地的当前分支自动与对应的origin主机”追踪分支”(remote-tracking branch)进行合并。

    如果当前分支只有一个追踪分支,连远程主机名都可以省略。

    展开全文
  • 在push代码时,会提示使用git pull命令,也就是拉取远端代码,更新我们的仓库,那么为什么又要加个 --rebase命令呢?下面来说说这个问题,先从这两命令开始。 git pull = git fetch + git merge FETCH_HEAD git ...

          在push代码时,会提示使用git pull命令,也就是拉取远端代码,更新我们的仓库,那么为什么又要加个 --rebase命令呢?下面来说说这个问题,先从这两命令开始。

          git pull = git fetch + git merge FETCH_HEAD 
          git pull --rebase =  git fetch + git rebase FETCH_HEAD 

          二者的区别是,在fetch之后的操作不同,merge与rebase的不同。

          假设当前master的提交如下:

          如果是你或者你的同事在cid2点,开发进度是cid20(或者突然撇出一个分支,假设是tmp分支),此时要把cid20提交到master

           在master执行git merge tmp,然后会得到如下结果:

            新增了一次提交记录cid6, 似乎也没有什么问题。如果你装了小乌龟,查看提交日志,可能就是下面的样子:

           那么来看看git rebase,  在master执行git rebase tmp,操作之后的分支如下:

           二者对比可知,rebase没有产生新的节点,使用rebase的git演进路线(提交树)是一直向前的,这样在版本回退时也很容易,用merge的git路线是跳跃的,如果版本回退你也找不到自己想要的版本,如果在merge时出现了冲突那就麻烦了,当前merge就不能继续进行下去,需要手动修改冲突内容后,add,commit, push. 而rebase 操作的话,会中断rebase,同时会提示去解决冲突。解决冲突后, 再执行 git rebase –continue 继续操作,再push.

           想要更好的提交树,建议使用rebase操作会更好一点,这样可以线性的看到每一次提交,并且没有增加提交节点。不过也有些项目,不建议使用rebase, 这就得看公司与项目的规定。

           那么到此git pull --rebase与git pul的区别也讲清楚了。 

          

          

    展开全文
  • git pull=git fetch + git merge git pull --rebase=git fetch+git rebase git fetch : 从远程分支拉取代码,可以得到远程分支上最新的代码。 所以git pull origin master与git pull --rebase origin master的区别...

    区别:

    git pull=git fetch + git merge
    git pull --rebase=git fetch+git rebase
    

    git fetch : 从远程分支拉取代码,可以得到远程分支上最新的代码。

    所以git pull origin master与git pull --rebase origin master的区别主要是在远程与本地代码的合并上面了。

    现在有两个分支:test和master,假设远端的master的代码已经更改了(在B基础上变动:C,E),test的代码更改了要提交代码(在B基础上变动:D,E),如下图:

          D---E test
          /
     A---B---C---F--- master
    

    问题就来了,如果C,F和D,E的更改发生冲突,那么就需要我们合并冲突了,下面我们来看看git merge和git rebase怎么合并的

    git merge

           D--------E
          /          \
     A---B---C---F----G---   test, master
    

    git rebase

    A---B---D---E---C‘---F‘---   test, master
    

    对比可看出:git merge多出了一个新的节点G,会将远端master的代码和test本地的代码在这个G节点合并,之前的提交会分开去显示。

    git --rebase会将两个分支融合成一个线性的提交,不会形成新的节点。

    rebase好处
    想要更好的提交树,使用rebase操作会更好一点。
    这样可以线性的看到每一次提交,并且没有增加提交节点。
    merge 操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。
    而rebase 操作的话,会中断rebase,同时会提示去解决冲突。
    解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。

    原文链接:https://www.cnblogs.com/ellen-mylife/p/12794245.html
    原文作者:ellenxx

    展开全文
  • git pull = git fetch + git merge git pull --rebase = git fetch + git rebase 现在来看看git merge和git rebase的区别。 假设有3次提交A,B,C。 在远程分支origin的基础上创建一个名为"mywork"的分支并提交了...

    使用下面的关系区别这两个操作:
    git pull = git fetch + git merge
    git pull --rebase = git fetch + git rebase

    现在来看看git merge和git rebase的区别。

    假设有3次提交A,B,C。

    在远程分支origin的基础上创建一个名为"mywork"的分支并提交了,同时有其他人在"origin"上做了一些修改并提交了。

    其实这个时候E不应该提交,因为提交后会发生冲突。如何解决这些冲突呢?有以下两种方法:

    1、git merge
    用git pull命令把"origin"分支上的修改pull下来与本地提交合并(merge)成版本M,但这样会形成图中的菱形,让人很困惑。

    2、git rebase
    创建一个新的提交R,R的文件内容和上面M的一样,但我们将E提交废除,当它不存在(图中用虚线表示)。由于这种删除,小李不应该push其他的repository.rebase的好处是避免了菱形的产生,保持提交曲线为直线,让大家易于理解。

    在rebase的过程中,有时也会有conflict,这时Git会停止rebase并让用户去解决冲突,解决完冲突后,用git add命令去更新这些内容,然后不用执行git-commit,直接执行git rebase --continue,这样git会继续apply余下的补丁。
    在任何时候,都可以用git rebase --abort参数来终止rebase的行动,并且mywork分支会回到rebase开始前的状态。

    展开全文
  • git pull常见用法

    2019-10-27 11:00:00
    git pull作用是从一个仓库或者本地的分支拉取并且整合代码。git pull的一般形式为 git pull <远程主机名> <远程分支名>:<本地分支名> git pull origin master:master 第一个master是本地分支名...
  • git pullgit pull --rebase 区别理解

    千次阅读 2020-07-29 23:44:34
    git pull = git fetch + git merge git pull --rebase = git fetch + git rebase git pull 就不多说了,直接来看 git pull --rebase 吧。 现在,用户 A,用户 B 和 远程仓库的代码版本都是最新且保持一致的。 ...
  • I have a colleague who claims that git pull is harmful, and gets upset whenever someone uses it. 我有
  • git pull以及git pull --rebase

    千次阅读 2018-06-03 11:51:24
    git pull作用是将远程库中的更改代码合并到当前分支中,默认为:git fetch + git merge git fetch 的作用就相当于是从远程库中获取最新版本到本地分支,不会自动进行git merge git pull –rebase 加上–rebase...
  • git clone与git pull区别

    万次阅读 2019-03-08 11:36:34
    从字面意思也可以理解,都是往下拉代码,git clone是克隆,git pull 是拉。 但是,也有区别: 从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.(clone是将一个库复制到你的本地,是一个...
  • git pull的用法

    千次阅读 2019-05-06 12:00:36
    git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并,它的完整格式稍稍有点复杂。 使用语法 git pull [options] [<repository> [<refspec>…]] 描述 将远程存储库中的更改合并...
  • 我画了张图,不仅仅涉及到git fetch和git pull,对整体理解也会很有帮助。如下: 上图展示了git的整体架构,以及和各部分相关的主要命令。先说明下其中涉及的各部分。 工作区(working directory),简言之就是你...
  • git pull命令

    万次阅读 多人点赞 2017-09-11 20:24:18
    git pull命令作用:从另一个存储库或本地分支关联的远端分支获取最新代码,并与本地代码资源整合。git pull命令执行过程:取回远程主机某个分支的更新,再与本地的指定分支合并(可能存在需手动解决的冲突)。 使用...
  • git pull命令的用法

    万次阅读 2019-02-28 09:05:53
    git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并。 一句话总结git pullgit fetch的区别:git pull = git fetch + git merge git fetch不会进行合并执行后需要手动执行git merge合并...
  • 在我们使用git的时候用的更新代码是git fetch,git pull这两条指令。但是有没有小伙伴去思考过这两者的区别呢?有经验的人总是说最好用git fetch+git merge,不建议用git pull。也有人说git pull=git fetch+git ...
  • 看着图标都一样,作用是不是一样啊 ![图片说明](https://img-ask.csdn.net/upload/202007/05/1593959930_471809.png)
  • git pull 后面加上 2>&1 例子:cd /www/wwwroot/project && sudo /usr/bin/git pull 2>&1
  • 主题更新测试 Powercord的主题更新测试仪,因为它的自动git pull不起作用 痛。
  • 使用 git pull --rebase 的好处

    千次阅读 2019-04-11 15:19:26
    在这期间你可能需要时不时的需要pull下远程develop分支上的同事的提交。这是个好的习惯,这样下去就可以避免你在一个无用的代码上进行长期的开发,回头来看这些代码不是新的代码。甚至是会面临很多冲突需要解决,而...
  • 文章目录一、git pull1、git pull命令的完整格式2、省略本地分支名3、当前分支与远程分支存在追踪关系(可能有多个追踪关系)4、当前分支只有一个追踪关系。5、拉取远程主机上被他人rebase操作然后强制推送的分支6、...
  • git clone 和 git pull 代码无响应

    千次阅读 2019-06-13 19:52:05
    无论是项目目录下 git pull 还是直接 git clone 都不能正常拉代码; 错误1 ssh: connect to host gitee.com port 23: Connection timed out fatal: Could not read from remote repository. 我把 ssh: ...
  • 在服务器上每次执行git pull,都提示输入用户名和密码 现象分析 我们在git clone工程时有2中形式https和git@git。当你使用前者拉取工程时每次都需要输入用户名和密码 解决方案 1.执行下面命令 git config --...
  • Let's say I have a directory, /X/Y , which is a git repository. 假设我有一个目录/X/Y ,它是一个git存储库。 Is it pos
  • 详解git pullgit fetch的区别(原理)

    千次阅读 2020-04-17 17:48:04
    在我们使用git的时候用的更新代码是git fetch,git pull这两条指令。但是有没有小伙伴去思考过这两者的区别呢?有经验的人总是说最好用git fetch+git merge,不建议用git pull。也有人说git pu...
  • git pull --rebase 有冲突解决方案

    千次阅读 2020-03-08 21:48:47
    git pull --rebase 的作用就不多说了,A,B同时修改了一个文件,当git要提交,执行了git commit -a -m ,再执行git pull --rebase的时候,有冲突产生。 解决方案 定位到冲突文件 手动解决冲突 执行git add . 执行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,200
精华内容 8,080
关键字:

gitpull的作用