在工作之后,我比较经常地接触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. RIP 实验

    一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1. 理解 RIP 协议的工作原理 2. 理解 RIPv1.RIPv2 的特性 3. 掌握 RIP 协议的基本配置 ...

  2. 简单导出下载excel的方法

    简单导出excel方法 /// <summary> /// Excel打包下载 /// </summary> /// <returns></returns&g ...

  3. pyquery 学习

    pyquery 是python仿照jQuery的严格实现,语法与jQuery几乎完全相同,所以对于学过前端的朋友们可以立马上手,没学过的小朋友也别灰心,我们马上就能了解到pyquery的强大. 1 安 ...

  4. 函数声明 和 var声明的优先级

    function demo() { console.log(5) } var demo = function(){ console.log(4) } console.log(demo()) var d ...

  5. AI应用开发实战 - 从零开始搭建macOS开发环境

    AI应用开发实战 - 从零开始搭建macOS开发环境 本视频配套的视频教程请访问:https://www.bilibili.com/video/av24368929/ 建议和反馈,请发送到 https ...

  6. 【工具篇】抓包中的王牌工具—Fiddler (2-工具介绍)

    Fiddler 抓包工具界面简介 1) 字段说明 Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic. 开启后再左下角会有 ...

  7. Swift LeetCode 目录 | Catalog

    请点击页面左上角 -> Fork me on Github 或直接访问本项目Github地址:LeetCode Solution by Swift    说明:题目中含有$符号则为付费题目. 如 ...

  8. 如何机智判断页面是刷新还是关闭,背景:vue项目,需求:关闭页面,下次直接跳到登陆页

    最近项目有这么个需求:要在关闭当前系统的窗口的时候,退出登录, 因为如果不退出登录可能存在安全风险,其实我想说,电脑没事别借给别人活着离开工位记得一定要锁屏,其实我们设置了cookie失效时间的,过了 ...

  9. Android项目目录结构模板以及简单说明【简单版】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 开发Android项目的时候,一般都是一边开发一边根据需求创建目录(包.module),那么我呢就根据以往的项目经验,整理出一个比较 ...

  10. 【Python3爬虫】百度一下,坑死你?

    一.写在前面 这个标题是借用的路人甲大佬的一篇文章的标题(百度一下,坑死你),而且这次的爬虫也是看了这篇文章后才写出来的,感兴趣的可以先看下这篇文章. 前段时间有篇文章<搜索引擎百度已死> ...