谈下git的基本操作
在工作之后,我比较经常地接触git,关于git的用法,网上有很多的教程,而且git的指令是非常多的,强如阮一峰这样的高手也直言无法记住git的很多指令。实际上我也看了不少关于git指令的文章,个人觉得,确实有很多指令是比较鸡肋的,或者根本就用不着,或者纯粹为了操作而操作。下面我总结几个比较常用的git操作,分享出来。
先上个自己画的图:

git的基本流程就是这样。关于git pull origin xxx的用法,网上有一些声音是说:少用git pull,多用git fetch + git merge origin xxx。这里的origin是主机名,当然这个主机名是可以改动的,但是大家约定俗成的就是不去改它,xxx表示当前所在的分支名。同样在行业里也有一些约定俗成的命名。比如在开发环境的分支,一般来说,不是命名为"develop",就是命名为"test"。
回到上面那个问题,git fetch就是从远程仓库拉下代码到本地仓库,再用git merge origin xxx更新到工作区。而git pull origin xxx则是直接一步到位,从远程仓库拉下并直接更新当前工作区。这种方法其实是安全的,很多人会担心这样本地自己写的东西会被覆盖,其实根本不会的,比如你改了第1000行代码,另一位小伙伴也改了第1000行代码,但是他效率比较快,比你先推到远程仓库了,这时候你再把他的最新代码拉下来,工作区是会报冲突的,而且会给你标记出来,冲突需要手动解决。
下面汇总一下:
git status //查看当前所处的分支,以及本地更改的代码状态,如果更改没有提交到暂存区,会以红色显示。在暂存区则以绿色显示
git add . //提交本地新建的文件 + 修改过的文件,注意这个 . 前面有个空格不要漏了
git commit -m "balabala" //提交代码到本地仓库,balabala代表你本次提交的说明,比如更新了某某功能,解决了某某bug
git pull origin xxx //从xxx分支拉取最新的代码并更新工作区
git push origin xxx //把本地仓库的项目推到远程仓库,强烈建议在推之前先git pull origin xxx拉一遍最新的代码,因为如果你不是基于最新代码进行改动的,是推不上去的。如果存在冲突,就更推不上去了。
git branch -a //列出远程仓库的所有分支名,这里的a应该是“all”/的意思
git checkout xxx //跳转到xxx分支,这个分支是指远程分支,跳转之后,工作区将会更新为新分支的内容,此时写代码还有提交都是在这个新分支上进行。
谈下git的基本操作的更多相关文章
- IDEA环境下GIT操作浅析之二-idea下分支操作相关命令
上次写到<idea下仓库初始化与文件提交涉及到的基本命令>,今天我们继续写IDEA环境下GIT操作之二--idea下分支操作相关命令以及分支创建与合并. 1.idea 下分支操作相关命令 ...
- IDEA环境下GIT操作浅析之一Idea下仓库初始化与文件提交涉及到的基本命令
目标总括 idea 下通过命令操作文件提交,删除,与更新并推送到github 开源库基本操作idea 下通过命令实现分支的创建与合并操作 idea 下通过图形化方式实现idea 项目版本控制基本操作 ...
- Git GUI基本操作
一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...
- 【转】Git GUI基本操作
一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...
- Linux下git安装配置
一.Linux下git安装配置 2013-07-28 20:32:10| 分类: 默认分类 | 标签:linux git server |举报|字号 订阅 http://abomby ...
- Windows下Git的下载、安装、设置用户名和邮箱、创建版本库等
Git官网:https://git-scm.com/ 一.Git下载 官网首页下载,当前最新版本:2.24.1 本人下载的是Git for Windows版本:Git-2.24.1.2-64-bit. ...
- 安全防范:nginx下git引发的隐私泄露问题
安全防范:nginx下git引发的隐私泄露问题 1 安全事件 最近阿里云服务器后台管理系统中收到一条安全提示消息,系统配置信息泄露: http://my.domain.com/.git/confi ...
- Ubuntu下git的安装与使用
Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...
- 聊下git pull --rebase
有一种场景是经常发生的. 大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个.然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周.在这期间你可能需要时不时的需要pull下远程 ...
随机推荐
- SAP MM 预留单据的历史修改记录?
SAP MM 预留单据的历史修改记录? 在笔者眼里,SAP系统是一个高度严谨的软件系统.用户在SAP系统里的相关操作,系统都会做记录.用户对于系统的相关单据的增删改,SAP系统都有保留change h ...
- 将展示内容(div、iframe)放在Expand控件中
Expand是ArcGIS JavaScript API 4.3推出的一个widget(控件),用于承载一个HTML DOM元素,可以把一个自己编写的div或者是一个其他的Esri widget控件放 ...
- 全球排名第一的免费开源ERP Odoo 12产品发布会北京站开始报名
Odoo V12 产品(北京)发布会 暨企业数字化转型论坛 快速报名通道:http://odoochina.mikecrm.com/uG8nNu4 随着新版本Odoo 12的发布,开源智造(OSCG. ...
- Flutter 即学即用系列博客——07 RenderFlex overflowed 引发的思考
背景 在进行 Flutter UI 开发的时候,控制台报出了下面错误: flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY >╞════════ ...
- 解决git Failed to connect to 127.0.0.1 port xxxx: Connection refused
某天,用git拉取,提交代码的时候出现了git Failed to connect to 127.0.0.1 port xxxx: Connection refused的问题, 开始百度,看了一通.都 ...
- Mongo之架构部署(Replica Sets+Sharding)
一.环境 要构建一个 MongoDB Sharding Cluster,需要三种角色: •Shard Server: mongod 实例,用于存储实际的数据块. •Config Server: mon ...
- Java辅助类持续汇总~
/** * 01 * 描述:List<String>集合去除重复数据 * [时间 2019年3月5日下午3:54:09 作者 陶攀峰] */ public static List<S ...
- linux常用命令小结
其他类 clear 清屏 文件管理 chmod 修改文件权限. 常用列表: chmod +x 使文件变为可执行文件. 常用于sh脚本. touch 创建文件 tar 压缩文件操作. -zxvf, 解压 ...
- ==运算符和equals()方法的区别
Java语言程序中判断两个变量是否相等有两种方式:一是运用==运算符,二是运用equals方法. 1. ==运算符 对于==运算符来说,如果两个变量是基本类型的,并且是数值类型,则只要它们的值相等,就 ...
- 磁盘阵列raid类型及含义
raid0: 多块盘同时进行读写: 优点是读写效率高,缺点是没有数据冗余: 最少需要两块盘. raid1: 将数据盘都做镜像: 优点是有数据冗余:缺点是读写效率低,磁盘利用率低: 最少需要两块盘. r ...