git pull取得远程仓库的对像并刷新、合并本地数据git fetch+get merge

摘要: 在用git进行项目开发的时候,需要与远程服务器进行通信。其中一个经常使用到的地方就是从远程仓库获得存储的对象。我们知道,git pull等于git fetch 和git merge以后的结果。那么git fetch获得的对象放在哪里呢?git fetch又是从哪里获得对象呢?为什么获得的对象和当前目录下的文件没有产生覆盖之类的冲突呢?git merge的工作流程又是什么样的呢?本文,主要为你解答这些疑问。


本文来源:git pull取得远程仓库的对像并刷新、合并本地数据git fetch+get merge

http://blog.csdn.net/trochiluses/article/details/14522383

一、git getch


1.命令简介

git-fetch - Download objects and refs from another repository


2.命令使用语法

       git fetch [<options>] [<repository> [<refspec>...]]
       git fetch [<options>] <group>
       git fetch --multiple [<options>] [(<repository> | <group>)...]
       git fetch --all [<options>]


3.命令说明

fetch的地点存储在git根目录下的.git/FETCH_HEAD之中,当然,当我们使用诸如git fetch origin之类的命令的时候,这些fetch的地点可以在.git/config之中找到。一般而言,我们使用git fetch之后,需要使用git merge将这写内容与我们原来进行的修改进行合并。


二、git pull

假设,当我们使用git pull之前,本地分支和服务器上的分支情况如下:

                   A---B---C master on origin
                  /
               D---E---F---G master

那么,使用git pull将fetch到远程服务器的部分,然后和本地进行合并,形成如下的情况:

                   A---B---C remotes/origin/master
                  /          \
               D---E---F---G---H master

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你使用 `git pull` 时,如果你的本地仓库历史记录与远程仓库不一致,就会出现拒绝合并无关历史的错误。 此时,你可以使用 `git fetch` 命令来获取远程仓库的最新代码,并且创建一个远程分支的本地副本。然后,你可以通过 `git merge` 命令将远程分支合并到你的本地分支上。 具体步骤如下: 1. 使用 `git fetch` 命令获取远程仓库的最新代码,创建一个远程分支的本地副本: ``` git fetch origin ``` 2. 查看本地分支与远程分支的差异: ``` git log HEAD..origin/master --oneline ``` 如果你看到了一条类似于“refusing to merge unrelated histories”的错误信息,说明你的本地仓库历史记录与远程仓库不一致。 3. 使用 `git merge` 命令将远程分支合并到你的本地分支上: ``` git merge origin/master --allow-unrelated-histories ``` 这里的 `--allow-unrelated-histories` 参数告诉 Git 允许合并无关历史。 4. 解决合并冲突。 如果在合并过程中出现了冲突,你需要手动解决它们。你可以使用 `git status` 命令查看哪些文件有冲突,然后打开这些文件并解决它们。解决完冲突之后,使用 `git add` 命令将修改后的文件添加到暂存区,最后使用 `git commit` 命令提交合并的结果。 5. 推送到远程仓库。 完成合并之后,你可以使用 `git push` 命令将本地分支的修改推送到远程仓库。 希望这个回答可以帮助到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值