文档章节

工具篇之GIT知识整理(一)

o
 osc_w9s1w4o0
发布于 2019/04/13 19:24
字数 900
阅读 20
收藏 0

精选30+云产品,助力企业轻松上云!>>>

[TOC]

项目工具篇(一)GIT

说在前面

近段时间在项目上碰到了一个非常棘手的问题,因为Salesforce没有一个很好的代码版本管理工具,所以当项目中成员同时更改一个代码文件时就会很麻烦,难免会覆盖掉另一个同事抓破脑袋写出来的逻辑。不过,经过几次加班还原代码,我们项目组已经决定使用Git来做代码版本管理了(看谁还敢冲代码)。下面来讲讲关于Git,我这几天学习的成果吧。

背景

2005年由Linus Torvalds创建的系统,第一个Linux就是GIT。在项目中使用GIT之后就像你的项目有了一个撤销按钮,它可以手动和自动的保存你的代码版本以便于撤回,比较代码文件中的不同之处等,同时Git也是项目协同开发不可缺少的一个工具。

与其他版本控制产品对比

网上有一张表格(后来找不到了),我觉得挺适合大家用来了解Git与其他版本控制产品的区别,大概就是是下面这个样子:

  • | any editor | use offline | manual save --- | --- | --- | --- manual saving | Y | Y | Y dropbox | Y | N | N google docs | N | N | N wikipedia | N | N | Y git | Y | Y | Y svn | N | N | N 也就是说Google Docs(可以把文件保存在本地,但是只能用专门的编辑器打开)和wikipedia(实际上也不会向本地保存任何文件,所以不能离线)只是针对于文档进行一个版本控制,Git则是针对于编程也开发出来的可离线使用的项目版本管理工具。

Git下载地址及安装

下载地址

Win64
Mac

安装

  1. 准备安装,点击下一步 准备安装,点击下一步

  2. 选择安装根目录 选择安装根目录

  3. 配置需要安装的组件 配置需要安装的组件

  4. 设置菜单目录名称 设置目录名称

  5. 选择默认编辑器 选择默认编辑器

  6. 选择使用命令行环境 选择使用命令行环境

  7. Https传输后端 Https传输后端

  8. 配置行结束标记 配置行结束标记

  9. 选择终端模拟器 选择终端模拟器

  10. 选择额外选项 选择额外选项

  11. Install -> Finish

在案例中简单使用Git命令

在网上有一个叫Asteroids的小游戏,是一个使用JS开发的游戏,代码极其复杂。有兴趣的可以去耍一耍
我们就这个小游戏来熟悉Git常用的一些命令,Asteroids的版本库:https://github.com/udacity/asteroids.git

git clone

说明

我们常用git clone将一个计算机仓库克隆到另一个计算机仓库

语法

git clone (空格后跟版本库的url)

image

这样我们就在本地创建了一个叫asteroids的Git库,接下来使用cd命令进入到仓库内。

git log

说明

这个命令会显示出这个文件在git库中修改的次数,时间以及修改的作者和描述等。(按q退出对比模式)

语法

在master目录下使用

git log

image

git diff

说明

对比文件中的不同并显示出来,绿色加号表示A有B没有(新增),红色减号表示B有A没有(删除)。(按q退出对比模式)

语法

git diff (后面空格跟上对比文件的ID,ID会在git log命令下显示出来)

image

git checkout

说明

该命令可以检出一个历史提交的版本,常用于创建分支、切换分支和检查历史版本中的bug。

语法

git checkout (后面空格跟上要检出的文件ID)

对于这几条命令的Concept Map(概念图)

image

git init

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Git 学习看这篇就够了!

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 可能新手会问“git和github有什么关系啊?” git是一个版本控制工具; github是一个用git做版本控...

Michaelyn
2016/12/26
192
0
Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍

作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载。 萌芽阶段 很久之前就开始打算整理一下自己的技术博客了,由于各种原因(借口总是可以找到的)...

我是13
2017/02/24
0
0
iOS Sonar集成流程详解

所有文章目录:http://my.oschina.net/ChenTF/blog/677112 本篇文章地址: http://my.oschina.net/ChenTF/blog/708646 对您有帮助的话, 还请"赞" 一下哦, 有问题可留言或加QQ群:323276186 关于......

ljianbing
2017/05/27
0
0
iOS Sonar集成流程详解

所有文章目录:http://my.oschina.net/ChenTF/blog/677112 本篇文章地址: http://my.oschina.net/ChenTF/blog/708646 对您有帮助的话, 还请"赞" 一下哦, 有问题可留言或加QQ群:323276186 关于......

ljianbing
2017/05/27
0
0
Vcs-Git 版本控制速览

本文总结版本控制工具git在日常开发工作常用到的一些命令,以及一些常用的场景应用,比如分支管理,远程管理,合并冲突处理等。后续持续更新中。 常用命令 下面的图片很清晰的说明来一些命令...

黎明鸟飞去
2019/07/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

skywalking实现分布式系统链路追踪

一、背景 随着微服务的越来越流行,我们服务之间的调用关系就显得越来越复杂,我们急需一个APM工具来分析系统中存在的各种性能指标问题以及调用关系。目前主流的APM工具有CAT、Zipkin、Pinpo...

燚-焱
23分钟前
16
0
2020最新的Spring Boot 分布式锁的具体实现(内附代码)

前言 面试总是会被问到有没有用过分布式锁、redis 锁,大部分读者平时很少接触到,所以只能很无奈的回答 “没有”。本文通过 Spring Boot 整合 redisson 来实现分布式锁,并结合 demo 测试结...

北柠Java
29分钟前
8
0
Shiro中获取Cookie

自定义shiro的SessionIdCookie 在使用shiro的时候,曾经有段时间很苦恼,因为我cookie的sessionId经常无故被改,然后抛There is no session with id [xxxx]的异常。我们知道,当请求过来,s...

豫华商
29分钟前
9
0
JPA和Hibernate有什么区别? [关闭] - What's the difference between JPA and Hibernate? [closed]

问题: I understand that JPA 2 is a specification and Hibernate is a tool for ORM. 我知道JPA 2是一个规范,而Hibernate是ORM的工具。 Also, I understand that Hibernate has more fea......

富含淀粉
47分钟前
14
0
Java知识回顾-基础知识(2)

局部变量/成员变量: 成员变量是属于类的 局部变量是属于方法的 都可以被final修饰 java中使用new 创建实例对象 方法返回值的作用: 方法的返回值 是指方法中的一系列操作有返回结果 返回值的作...

心田已荒
51分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部