git pull 与git fetch的区别

从百度上看到很多关于git fetch 和 git  pull 的不同

实践一下:

从github上新建一个项目try,copy到本地。

在github网站里修改readme.txt文件,新增加一句【alter readme】

在本地仓库的readme.txt也新增加一句,【add some thing】

现在想把本地代码提交到github上,是不能提交的。会出现错误提示!!!

应该先从远程仓库中把代码下载下来

(1)用git pull会怎么样呢?

git pull origin master

打开本地仓库的readme.txt文件

git pull:相当于是从远程获取最新版本并merge到本地

(2)使用git fetch命令

接着上面的,我们把冲突的代码改了,再提交上去

再在readme.txt文件上增加use fetch

在本地仓库的readme.txt文件修改,增加use fetch loca

l

本地提交代码,并提交代码,由上面可知,不能提交上去

输入

git fetch origin master

打开readme.txt文件,没有任何变化

我们再输入

git log -p master..origin/master

可以查看远程仓库中,是谁修改了代码,和怎样修改

然后输入

git merge origin/master

手动merge仓库

然后我们来看看readme.txt文件

fetch相当于获取到github远程仓库上修改的代码,

可以通过git log -p master..origin/master来查看不同

最后根据自己的需要合并代码

结论:pull相当于fetch操作加上merge操作,

不过fetch好一点,在合并之前可以查看一下更新情况。

时间: 2024-10-26 21:05:48

git pull 与git fetch的区别的相关文章

git pull 与 git fetch的区别

以前在项目组用git做版本控制是一直没搞明白git pull与git fetch的区别,昨天在网上查了以后大致知道了怎么回事: 用 git fetch 更新项目的的方法如下 git fetch origin  master:tmp //从远程版本库里拉取最新的matsr分支 git diff tmp //查看最新的主分支的与本地分支的区别 git merge//合并最新的远程主分支与本地分支 git pull的话是一种更简单的方式,git pull 是git fetch+ git merge的整

git fetch 、git pull 与 git pull --rebase

1. git fetch 与 git pull 都是从远程拉取代码到本地,git fetch只是拉取到本地,git pull不仅拉取到本地还merge到本地分支中.所以git pull是git fetch与git merge的集合体.  2. git pull 与 git pull --rebase git pull的默认行为是git fetch + git merge,  git pull --rebase则是git fetch + git rebase. 从目的来说,两者没差别,运行之后,

对比git pull和git pull --rebase

1.使用下面的关系区别这两个操作:git pull = git fetch + git mergegit pull --rebase = git fetch + git rebase 2 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交,如图 现

Git----拉取远程分支,git pull,git rebase,git pull --rebase的区别

git pull 相当于自动的 fetch 和 merge 操作,会试图自动将远程库合并入本地库,在有冲突时再要求手动合并. git rebase 可以确保生产分支commit是一个线性结构,方便rollback.其实生产也可以选择打tag来发布. 注:通过rebase可以确保主分支commit history线性结构上每个commit点都是相对独立完整的功能单元.除了美感,这样做也有助于团队间的分工协作,比随便merge效果好. git pull --rebase(推荐用这个) 把本地 rep

git pull和git fetch

git 学习(git fetch/ git pull/ git rebase/ git cherry-pick的区别)

使用git做开发管理: 1. Git clone  将远程代码克隆到本地: 2. Git branch  查看本地branch (git clone 时会创建 master) 3. git branch -a  查看本地和远程分支:(远程分支包括 remotes/origin/master 远程master分支) 4. Git remote -v 查看远程库对应的简短名称 (origin  ...) 5. Git checkout -b bug origin/master 创建本地开发分支 6.

git pull

git pull把git fetch和git merge压缩成了一条命令. 用法 git pull <remote> 作用和git fetch <remote> && git merge origin/<current-branch>一样. git pull --rebase <remote> 和上面的命令类似, 但是不是使用git merge合并远程分支和本地分支, 而是使用git rebase合并. 讨论 下图解释了pull的过程. 通过

git 远程操作 git pull git push

git pull 用法: git pull <远程主机名> <远程分支名>:<本地分支名> 常用写法: 1. 全路径 git pull origin master:master 取回远程主机的master分支 与本地的master分支合并 2.省略本地分支 git pull origin master 取回远程主机名origin的master分支, 并与本地的当前分支合并 实质上,这等同于先做git fetch,再做git merge git fetch origin

git pull——git库版本与本地库版本冲突总结

git库版本与本地库版本冲突:个人定义为就是git库版本与本地库版本不匹配,详细地说就是我们从git库clone克隆下来的版本,经过修改后提交并合并成新版本,但是后来又将git库的该版本撤销了,而本地没有撤销该版本,此时就是本地库拥有此版本而git库中没有此版本.这样在使用git pull或git pull origin master可能会出现:"Your local changes to the following files would be overwritten by merge&quo