当前位置: 首页 > news >正文

Git学习与使用心得(1)—— 初始化

公司在版本管理方面使用到Git,故来学习一番,跟上时代的步伐,也顺便分享一下自己的学习心得。

Git是一款版本控制系统,我对“版本控制系统”是这么理解的:通俗点说就好像游戏存档一样,在boss的地方前存盘,真的一不小心被boss拍死了,也可以轻松回到最近打boss的地点,而不用重新开始一关。当然这个“存档”可以不止一个,我们可以在多个关键的checkpoint存盘,比如说要拿个什么秘密装备之类的,也不用重新开始了。


意思就是,我们的代码出错了或者是忽然出问题了,就可以快回滚到上一个可以工作的版本,保证基本功能的运作,而不是重新写,重新构建功能的运作。

好!大概知道个所以然后,马上开始学习!

初始化步骤

1. 配置用户名与邮箱地址

添加操作者标识,好让团队知道是谁修改过文件

$ git config --global user.name "XXX"
$ git config --global user.email "XXX@abc.com"

2. 找一个合适的目录,创建一个版本库

现在我们先给 git先生 一个家安顿好,TA才能服务我们。比如说我找到的家在d:/www

$ cd d:/www
$ git init

然后 git先生 就住在了d盘的www目录。在家里面修改的所有文本文档会被git检测出来,如html, css, js...

不过有几点需要注意一下:

  1. 图片和视频等等的二进制文件能被检测出来修改过,不过仅仅会显示文件大小发生变化,而不会真正告诉我们,改了这个图片的什么。

  2. 非常不幸,Microsoft Word 也是用二进制格式存储,结果同上。

  3. 建议所有文本编码统一为UTF-8,避免各种冲突问题。

  4. (引用自:自廖雪峰的官方网站git教程)千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8 without BOM即可:
    clipboard.png

相关文章:

  • [转载]Monit:开源服务器监控工具
  • 运行第一个容器 - 每天5分钟玩转容器技术(4)
  • thrift实例:python实现
  • 微信开放平台手机APP支付
  • px PPI
  • fedora25输入法,中文输入法该用哪个——rime
  • 如何培养《未来架构师》(1)
  • 数字格式化工具:Numeral.js 简介
  • nginx防盗链和内核参数优化
  • 三列布局
  • ActFramework r1.2.0 带来的新特性
  • p2p网贷3种运营模式
  • [转][译] Closures in Lua - Lua中的闭包
  • MyBatis介绍和架构
  • JS 创建对象的5种写法
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 78. Subsets
  • input实现文字超出省略号功能
  • java8 Stream Pipelines 浅析
  • JavaScript服务器推送技术之 WebSocket
  • magento2项目上线注意事项
  • nodejs调试方法
  • PV统计优化设计
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Tornado学习笔记(1)
  • TypeScript实现数据结构(一)栈,队列,链表
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Webpack 4x 之路 ( 四 )
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 漂亮刷新控件-iOS
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #stm32驱动外设模块总结w5500模块
  • (12)Linux 常见的三种进程状态
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (3)(3.5) 遥测无线电区域条例
  • (libusb) usb口自动刷新
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (动态规划)5. 最长回文子串 java解决
  • (力扣)循环队列的实现与详解(C语言)
  • (十三)Flask之特殊装饰器详解
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .net Application的目录
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .Net Memory Profiler的使用举例
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .sys文件乱码_python vscode输出乱码
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [100天算法】-不同路径 III(day 73)