git pull VS git fetchmerge(good)
从图中可以看到,git fetch和git pull的区别,
- git fetch 不会自动的将结果merge到本地,只是将远程版本同步到本地版本库,而不会merge到本地副本。
- git pull 将会直接把working directory中的内容覆盖掉。
使用git fetch和git pull都可以更新远程仓库的代码到本地,但是它们之间还是有区别。
git fetch
1 git fetch origin master 2 git log -p master..origin/master 3 git merge origin/master
1. 从远程的origin仓库的master主分支更新最新的版本到origin/master分支上
2. 比较本地的master分支和origin/master分支的差别
3. 合并内容到本地master分支
git pull
相当于git fetch 和 git merge,即更新远程仓库的代码到本地仓库,然后将内容合并到当前分支。
所以,简单的说git pull相当于git fetch后再做一个git merge。那么它们具体的区别如何分析呢,这就需要我们再认识下git了,先看看下面这张图:
我们知道,git其实有好几个区,工作区(workspace)、暂存区(index)、本地仓库(local repository),当然还有远程仓库(remote repository)。远程仓库为我们保存一份代码拷贝,如github,而工作区、暂存区和本地仓库都在本地,这就是为什么没有网络我们也照样使用git提交(commit)代码更新,因为提交仅是提交到本地仓库,待有网络之后可以再推送(push)到远程仓库。
正如上图所示,git fetch是将远程仓库的更新获取到本地仓库,不影响其他区域。而git pull则是一次性将远程仓库的代码更新到工作区(同时也会更新本地仓库)。
所以,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。
http://www.cnblogs.com/songshu120/p/5125000.html
NAME
git-checkout - Checkout a branch or paths to the working tree
https://git-scm.com/book/zh/v2
最简单的方法在项目根目录与.git目录同一位置创建一个文件: .gitignore
touch .gitignore
vi .gitignore
将需要忽略的文件名放到这个文件,支持glob风格的通配符
:wq
git commit
然后.gitignore中的忽略,起作用
1,首先在命令行创建.gitignore文件
$ touch .gitignore
2,在文件.gitignore 加入要忽略的文件入(只要把需要忽略的文件加入就可以了,Linux还可以vi、vim;windows下使用记事本也可以)
$ echo *.class > .gitignore
注:如果要忽略的文件已被git管理,需要先移除,命令如下:
e.g.:
git rm -r --cached WebRoot/WEB-INF/classes/**/*
-r:递归
3、把.gitignore文件push到git服务器
git commit
4,加入到全局的git中(也可以在项目根目录放一个.gitignore)
$ git config --global core.excludesfile .gitignore
错误1:
Git Pull Failed: refusing to merge unrelated histories
解决办法:
假如我们的源是origin,分支是master,那么我们 需要这样写git pull origin master ----allow-unrelated-histories
出现错误的原因:
git remote add <主机名> <网址>时写错了主机名,然后第二次执行git remote add 命令。然后使用git remote rm <主机名>删除第一次错误创建的主机名
错误2:
Can't update: no tracked branch
No tracked branch configured for branch master.
To make your branch track a remote branch call, for example,
git branch --set-upstream-to origin/master master (show balloon)
解决办法:
使用提示的命令:git branch --set-upstream-to origin/master
git pull VS git fetchmerge(good)相关推荐
- 如何更改远程Git存储库的URI(URL)?
我在硬盘驱动器(本地)上克隆的USB密钥上有一个回购(来源). 我将"起源"移至NAS并成功测试了从此处克隆它的过程. 我想知道是否可以在"本地"设置中更改&q ...
- Git \Github使用文档(一)
1.1. 重点 了解git的仓库概念 熟悉何为版本控制,了解分布式版本控制(git)和集中式版本控制(svn) 能够熟练使用git的基本指令完成仓库的初始化/添加/提交/日志/回退/分支等操作 git ...
- .git文件夹_如何使用git把本地代码上传(更新)到github上
什么是git?git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.git是一种工具,它能更好的让我们管理代码.很多时候如果我们需要保持本地代码和github代码版本 ...
- Git 常用命令详解(二)
2019独角兽企业重金招聘Python工程师标准>>> Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档 ...
- git的使用及流程(详细)
## git的使用及流程 知识点1[git的概述] 代码管理工具概念:多人协同开发时管理代码. 作用: 防止代码丢失,可以做备份 代码版本的管理,可以进行多个版本之间的跳跃 可以方便的将代码在多人之间 ...
- 使用git把本地代码上传(更新)到github上
什么是git?git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.git是一种工具,它能更好的让我们管理代码.很多时候如果我们需要保持本地代码和github代码版本 ...
- git reset 命令详解(二)—— Git 学习笔记 08
git reset 命令详解(二) 上一篇博文git reset 命令详解(一)讲了 git reset 命令的基本原理和用法,这篇博文谈一谈 git reset 的另一种用法--后面跟一个路径(或文 ...
- git reset 命令详解(一)—— Git 学习笔记 07
git reset 命令详解(一) 简而言之,git reset 命令是用来将当前 branch 重置到另外一个 commit 的,这个动作可能同时影响到 index 以及 work director ...
- 理解git结构与简单操作(四)合并分支的方法与策略
接上节,此时的dev分支与master分支的进度就不一样了,所以需要将dev分支与master分支同步.这里需要的就是合并分支的操作,大家应该都知道用git merge或者git rebase. gi ...
- 本地仓库的基本操作与概念——Git的学习与使用(三)
本部分内容将会对基本库的使用,相关基础概念进行介绍,通过本部分的总结可以对于本地库进行管理,更好的理解Git的使用. 现在我们的机器上有了一个 真实项目 的 Git 仓库,并从这个仓库中检出了所有文件 ...
最新文章
- 卡耐基梅隆大学计算机金融专业,卡耐基梅隆大学计算机金融硕士申请要求及专业优势...
- 有关增强现实技术的过去、现在和未来的发展
- 使用ISA2004发布多个Web站点之二
- 阿里云智能财务软件好会计进销记账专用软件
- 网络聊天室的技术与发展
- p1218 Superprime Rib
- 关于如何在视频中合成声音
- 计算电磁学及其在复杂电磁环境数值模拟中的应用和发展趋势
- dsp调音一次多少钱_DSP调音到底调的是什么?什么是EQ?
- DateUtil整理
- Studio3T安装
- 沈阳浪潮php,微商城开发直播浪潮
- 计算机硬盘的文件怎么删除文件,如何彻底删除文件?彻底删除硬盘数据的几种方法-电脑教程...
- nu.xom.IllegalNameException: 0x20 is not a legal NCName character
- 谷歌FLAN-T5作者亲讲:5400亿参数,1800个任务,如何实现大语言模型“自我改进”...
- Vuforia-PocketCat丨1. 设计目标及效果展示
- 解决office,word奔溃的问题
- AGV小车的运动是怎么控制的呢?
- html如何拉伸一个图片,css怎么拉伸图片?
- Android 适配 64 位架构
热门文章
- Python中DataFrame按照行遍历
- 【機器學習筆記】xgboost中的min_child_weight參數理解。
- 深度学习在NLP领域的发展之Transformer
- python打包后怎么安装_别再问我怎么Python打包成exe了!
- c语言~符号_条件编译指令(符号),C语言条件编译指令完全攻略
- React antd 使用类式组件 对表单数据域进行控制 this.formRef.current.setFieldsValue
- 力扣-5 最长回文子串
- 神经网络-GoogleNet的发展,介绍,贡献
- sklearn.metrics.roc_curve使用说明
- OJ:一道考察多态的题目