Git简介之部分易混淆命令的简单介绍

在日常的工作中,公司使用Git来管理代码。但针对Git的基础知识,我掌握的不太好,经常需要边用边去搜,“如何用git实现xxx”,影响开发效率。为提升自己对Git的理解,同时加强记忆,就在这里记录一下自己在使用Git的时候,遇到的容易忘记和混淆的地方。

版本: v0.0.1

一. Git 基础概念

图源:http://www.ruanyifeng.com/blog/2014/06/git_remote.html

Git的工作流见上图。基于此图,简单介绍Git中四个重要概念:

工作空间(workspace): 就是本地修改代码的地方。

暂存区(stage/index): git add 之后将工作空间的内容添加到暂存区中。

本地仓库(local Repository): 这里有工程的所有代码。使用git commit命令将暂存区的内容提交到本地仓库。

远程仓库(Remote Repository): 就是远程存放工程所有代码的服务器。

二. 常被混淆的命令

2.1 git clone / pull / fetch的区别

git clone: 将远程仓库的工程下载到本地上,并生成一个本地仓库。这就相当于是从0到1的过程,把远程的工程代码下载下来,准备干活!

git clone URL(https/ssh,支持不同的协议)

git pull: 在本地已经有工程的情况下,从远程”拉取”更新到本地仓库,同时与本地仓库合并。该命令事实上代表了两个操作的集合,即:

git pull = git fetch + git pull

git fetch: 又叫“提取”。这个命令只是从远程仓库拉到本地,不自动与本地的项目合并(merge)。会在本地生成一个新的分支,要想合并的话,需要手动调用git merge去合并。

git fetch branch_name

2.3 远程主机名

在执行git clone命令时,远程主机默认起名: origin。如果想改为别的名字,使用git clone命令的-o参数来修改。

git clone -o new_name url

通过git remote来管理名字。

git remote # 列出当前所有的主机名

2.2 git push的一些细节

主要记住下面这个push的格式:

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

其他内容见文章 。上述格式也是参考这篇文章的。

后续待更。

Git简介之部分易混淆命令的简单介绍相关推荐

  1. AT命令的简单介绍和使用

    一.AT命令的简单介绍 AT即Attention,AT指令集是从终端设备(Terminal Equipment, TE)或数据中断设备(Data Terminal Equipment, DTE)向终端 ...

  2. esx 主机cli命令行简单介绍

    基本命令 vmware -v # 看你的esx版本 VMware ESXi 5.0.0 build-469512esxcfg-info -a # 显示所有ESX相关信息 esxcfg-info -w ...

  3. Git 简介和命令行操作

    Git 简介 官网地址:https://git-scm.com/ 3Git 的优势  大部分操作在本地完成,不需要联网  完整性保证  尽可能添加数据而不是删除或修改数据  分支操作非常快捷流 ...

  4. 廖雪峰Git教程笔记与总结 -- Git简介、常用命令、分支管理

    本文主要用于记录阅读Git教程 - 廖雪峰的官方网站后的一些心得笔记,并且对git一些常用命令做一个整理总结. 本文要点分为:1.Git简介:2.Git常用命令:3.Git分支管理. 一.Git简介 ...

  5. 【Java学习笔记(五十三)】之Git简介,Git常用命令

    本文章由公号[开发小鸽]发布!欢迎关注!!! 老规矩–妹妹镇楼: 一. Git (一) Git与SVN的对比 1. SVN SVN是集中式版本控制系统,版本库是集中放在中央服务器上的,开发人员只能从中 ...

  6. Git学习教程(一):git简介

    转自:http://fsjoy.blog.51cto.com/318484/244397 第一课. git简介 内容:什么是git,为什么要使用git以及获取和学习git的途径. 欢迎来到github ...

  7. git 添加用户名和邮箱_Git实用教程(二) | Git简介及安装详解

    Git实用教程专栏回顾 Git实用教程(一) | 为什么需要版本控制?(以嵌入式项目开发为例) 1.Git简介 Git(官网 https://git-scm.com/)是一个免费开源的分布式版本控制系 ...

  8. linux命令忘了,Linux考试易忘命令

    这是为了考试而做的笔记 mv命令可以移动可以改名 mv a /test //移动a到test文件夹下 mv a b //把a改名为b 软链接和硬链接的创建 ln -s profile a //prof ...

  9. (转)Git学习教程(一):git简介

    原文地址:http://fsjoy.blog.51cto.com/318484/244397  Git学习教程(一):git简介 2009-12-16 13:24:52 标签:git 学习 教程 [推 ...

  10. Git技能树(1):Git简介

    Git 技能树(1):Git 简介 什么是"版本控制"?我为什么要关心它呢? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在 GIT CODE 中 ...

最新文章

  1. endnote转化成纯文本后_如何用Endnote分分钟搞定参考文献
  2. WebApi的安全性及其解决方案
  3. which和whereis
  4. 求求你不要手写redis 缓存set,get
  5. netstat -anp | grep 8199 查看端口占用情况
  6. STM32连接射频si4438模块
  7. yoga710怎么进入bios_联想笔记本怎么进入BIOS联想手提电脑进BIOS方法汇总
  8. 使用VS2019编译单个CPP文件并运行
  9. android绘制一个圆,点哪画哪,走哪动哪
  10. 关于推进海洋测绘工作的思考
  11. 牛客 小米校招 最大新整数 单调栈
  12. 建立自己的机械臂–编程
  13. IDEA 离线安装lombok插件
  14. Ant Design Mobile是什么?
  15. ACL中的permit/deny与traffic policy中behavior的permit/deny之间是什么关系?
  16. HDLBits学习笔记——状态机(中)
  17. 怎么快速暂停Google账户广告系列?
  18. Report (enovia) 开发实践档案——PP Cost Book Report
  19. Android APPUI设计、切图的常用尺寸大全
  20. 超低排放行业标准发布!

热门文章

  1. 程序员的奋斗史(三十一)——人在囧途之应聘篇(一)
  2. 程序员的奋斗史(三十三)——人在囧途之应聘篇(三)
  3. 洛谷——P2342 叠积木
  4. python的 e是什么意思_python中的e是什么意思
  5. SCI收录的文献类型与认证的文献类型
  6. 面向ASIC的逻辑综合
  7. 别让孩子遭受“爱的伤害”
  8. JS日历控件集合----附效果图、源代码【转:http://www.cnblogs.com/yank/archive/2008/08/14/1267746.html】...
  9. python发outlook邮件_python对outlook邮件整理
  10. 四轴飞行器的位置式PID控制和增量式PID控制