谈下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下远程 ...
随机推荐
- 从零单排学Redis【铂金二】
前言 只有光头才能变强 好的,今天我们要上[铂金二]了,如果还没有上铂金的,赶紧先去蹭蹭经验再回来(不然不带你上分了): 从零单排学Redis[青铜] 从零单排学Redis[白银] 从零单排学Redi ...
- DataPipeline丨新型企业数据融合平台的探索与实践
文 |刘瀚林 DataPipeline后端研发负责人 交流微信 | datapipeline2018 一.关于数据融合和企业数据融合平台 数据融合是把不同来源.格式.特点性质的数据在逻辑上或物理上有机 ...
- 通过命令行设置Windows 时区
我们在进行自动测试的时候,不同的测试程序对于时区的要求不同,所以在开始的时候需要根据测试程序的要求了设置时区. Windows 提供了一个工具来进行时区设置.tzutil.exe. 目录:C:\Win ...
- CentOS 查看和修改 Mysql 字符集
客户提供了 mysql 的环境,但是不支持中文,通过以下命令查看了 mysql 的字符集 mysql> show variables like 'character_set%'; 显示如下: + ...
- Sql基础(零基础学数据库_SqlServer版)
刚开始学C#时候的笔记,只是些基础的语句如有错误请批评指正,谢谢,(使用SqlServer2012以上) 一. 数据库概述 SQI全称 structrued Query Language 1.数据: ...
- 过程 sp_addextendedproperty, 对象无效。不允许有扩展属性,或对象不存在。
过程 sp_addextendedproperty, 对象无效.不允许有扩展属性,或对象不存在. 首先这个是创建数据表的SQL,有Power Designer创建模型,直接生成的创建SQL会出现的问题 ...
- SpringBoot入门教程(十一)过滤器和拦截器
在做web开发的时候,过滤器(Filter)和拦截器(Interceptor)很常见,通俗的讲,过滤器可以简单理解为“取你所想取”,忽视掉那些你不想要的东西:拦截器可以简单理解为“拒你所想拒”,关心你 ...
- springboot~zuul实现网关
网关在微服务里的角色 在微服务架构体系里,网关是非常重要的一个环节,它主要实现了一些功能的统一处理,包括了: 统一授权 统一异常处理 路由导向 跨域处理 限流 实践一下 1 添加依赖 dependen ...
- Flink重启策略
戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...
- 西安活动 | 4月20日「拥抱开源,又见.NET :云时代 • 新契机」
云计算日渐兴起,成为提升企业效率和生产力的最终解决方案,而云时代也为软件开发模式带来了翻天覆地的变化.可以说 .NET Core就是这个时代催生的产物.自2016年 .NET Core 1.0 发布以 ...