在工作之后,我比较经常地接触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的基本操作的更多相关文章

  1. IDEA环境下GIT操作浅析之二-idea下分支操作相关命令

    上次写到<idea下仓库初始化与文件提交涉及到的基本命令>,今天我们继续写IDEA环境下GIT操作之二--idea下分支操作相关命令以及分支创建与合并. 1.idea 下分支操作相关命令 ...

  2. IDEA环境下GIT操作浅析之一Idea下仓库初始化与文件提交涉及到的基本命令

    目标总括 idea 下通过命令操作文件提交,删除,与更新并推送到github 开源库基本操作idea 下通过命令实现分支的创建与合并操作 idea 下通过图形化方式实现idea 项目版本控制基本操作 ...

  3. Git GUI基本操作

    一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...

  4. 【转】Git GUI基本操作

    一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...

  5. Linux下git安装配置

    一.Linux下git安装配置 2013-07-28 20:32:10|  分类: 默认分类 |  标签:linux  git  server  |举报|字号 订阅     http://abomby ...

  6. Windows下Git的下载、安装、设置用户名和邮箱、创建版本库等

    Git官网:https://git-scm.com/ 一.Git下载 官网首页下载,当前最新版本:2.24.1 本人下载的是Git for Windows版本:Git-2.24.1.2-64-bit. ...

  7. 安全防范:nginx下git引发的隐私泄露问题

    安全防范:nginx下git引发的隐私泄露问题 1   安全事件 最近阿里云服务器后台管理系统中收到一条安全提示消息,系统配置信息泄露: http://my.domain.com/.git/confi ...

  8. Ubuntu下git的安装与使用

    Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...

  9. 聊下git pull --rebase

    有一种场景是经常发生的. 大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个.然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周.在这期间你可能需要时不时的需要pull下远程 ...

随机推荐

  1. Service Fabric service 根据环境变量读取配置文件

    前言 一个服务或者产品,往往需要三个环境:一个开发环境(Development),一个测试环境(Staging),一个生产环境(Production), 这就不可避免的需要多个配置文件来匹配相应的环境 ...

  2. revit二次开发addin文件

    command命令: <?xml version="1.0" encoding="utf-8"?> <RevitAddIns> < ...

  3. 如何让div中的table水平居中

    <div style="text-align:center"> <table border="1" cellpadding="3&q ...

  4. 基于后端云的Android注册登录开发

    APP开发离不开注册登录功能,但是注册登录功能开发需要后台数据库的支持,对于一些初学者或者对后台数据 不熟悉的同学来说可能会有些困难.本文介绍一下后端云: 1. Bmob是国内起步较早的云后端服务平台 ...

  5. python3 树莓派 + usb摄像头 做颜色识别 二维码识别

    今天又啥也没干 我完蛋了哦  就是没办法沉下心来,咋办....还是先来条NLP吧.. 七,凡事必有至少三个解决方法 对事情只有一个方法的人,必陷入困境,因为别无选择. 对事情有两个方法的人也陷入困境, ...

  6. Storm入门(十四)Trident API Overview

    The core data model in Trident is the "Stream", processed as a series of batches. A stream ...

  7. 从0到1打造自己的VOIP网络电话系统(基于FreePBX)

    从0到1打造自己的网络电话系统 最近流量卡越来越便宜了,看看自己手里的"坑不死老用户"的联通卡,顿时感觉到深深的恶意,但是iPhone没有双卡功能,所以只好自己动手打造一个网络电话 ...

  8. Java原子类操作原理剖析

    ◆CAS的概念◆ 对于并发控制来说,使用锁是一种悲观的策略.它总是假设每次请求都会产生冲突,如果多个线程请求同一个资源,则使用锁宁可牺牲性能也要保证线程安全.而无锁则是比较乐观的看待这个问题,它会假设 ...

  9. Python学习笔记【第一篇】:认识python和基础知识

    我的笔记里的python代码运行环境都是在pycharm软件中运行,所以不去记录如何配置环境变量呀什么的. python种类 Cpython: Python的官方版本,使用C语言实现,使用最为广泛,C ...

  10. ansible基础-变量

    一 变量的命名规范 变量的命名应该符如下合两个规范: 变量应该由字母.数字.下划线组成 变量应该以字母开头 例如:host_port.HOST_PORT.var5是符合命名规范的,foo-port. ...