项目工具篇(一)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传输后端

  8. 配置行结束标记

  9. 选择终端模拟器

  10. 选择额外选项

  11. Install -> Finish

在案例中简单使用Git命令

在网上有一个叫Asteroids的小游戏,是一个使用JS开发的游戏,代码极其复杂。有兴趣的可以去耍一耍

我们就这个小游戏来熟悉Git常用的一些命令,Asteroids的版本库:https://github.com/udacity/asteroids.git

git clone

说明

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

语法

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

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

git log

说明

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

语法

在master目录下使用

git log

git diff

说明

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

语法

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

git checkout

说明

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

语法

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

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

git init

工具篇之GIT知识整理(一)的更多相关文章

  1. 开发工具篇:Git和Github

    开发工具篇:Git和Github Git是什么? Git是目前世界上最先进的分布式版本控制系统.工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repositor ...

  2. git知识整理

    概述 工作中使用git进行代码托管,一开始只知道git add commit,之后了解了git-flow插件,觉得超牛逼,一键生成feature分支,再后来听说原生git命令更好用,于是又去学了原生g ...

  3. C# 基础知识系列- 16 开发工具篇

    0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...

  4. 开发工具--浅谈Git

    工具|浅谈Git Git这个工具,是我一直想写文章,终于我实现了我的想法.在我开始写之前,发表一下自己的看法,git只是一个工具,既然已经认定是一个工具,那么一定具备工具这类的共同特征,请用面向对象的 ...

  5. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  6. Git知识总览(一) 从 git clone 和 git status 谈起

    本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是乎过了一遍ProGit(链接:https://git-scm.com/book/zh/ ...

  7. Git知识总览(三) 分支的创建、删除、切换、合并以及冲突解决

    前两篇博客集中的聊了git的一些常用命令,具体请参见<Git知识总览(一) 从 git clone 和 git status 谈起>.<Git知识总览(二) git常用命令概览> ...

  8. Git知识总览(四) git分支管理之rebase 以及 cherry-pick相关操作

    上篇博客聊了<Git知识总览(三) 分支的创建.删除.切换.合并以及冲突解决>,本篇博客我们主要来看一下 rebase 变基相关的操作.rebase 操作和 merge 操作最终都可以达到 ...

  9. Salesforce知识整理(一)之Lightning Web Component Tools

    目录 LWC知识整理(一) 工具 Salesforce CLI Visual Studio Code(VS Code) Developer Hub(Dev Hub) 开启Dev Hub 相关资料 茶余 ...

随机推荐

  1. JS对JSON对象遍历输出的时候真的是按照顺序输出吗?

    对象的遍历输出并不是按照对象属性定义顺序来的,那么是按照什么规则来的呢,仔细深入研究你会发现,这还跟浏览器有关系,Chrome跟IE是不一样的,所以给出以下结论: Chrome Opera 的 Jav ...

  2. tp5问题整理

    问题一:致命错误: Class 'think\controller' not found 原因:controller首字母要大写 解决:use think\Controller; 问题二:html页面 ...

  3. Xshell报错“The remote SSH server rejected X11 forwarding request.”

    Xshell报错“The remote SSH server rejected X11 forwarding request.” 2012年12月17日 ⁄ Linux⁄ 共 218字 ⁄ 字号 小  ...

  4. 【pytorch】pytorch-LSTM

    pytorch-LSTM() torch.nn包下实现了LSTM函数,实现LSTM层.多个LSTMcell组合起来是LSTM. LSTM自动实现了前向传播,不需要自己对序列进行迭代. LSTM的用到的 ...

  5. MongoDB启动报错 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. 【转】

    之前MongoDB启动的时候是蛮正常的,不知道后来启动报错了,就把粘贴出来查询了.最后才知道是由于自己不正常的关闭导致的这个情况. --摘录:MongoDB非正常关闭后修复记录 mongod没有后台执 ...

  6. linux软连接文件的copy

    最近在做项目的时候遇到过一个问题:当copy一个工程模块时发现里面的目录文件有重复定义的情况. 最后查看源文件目录发现是存在软连接造成的. 出现这种情况的原因是:当直接copy文件目录时遇到软连接会把 ...

  7. django下的xadmin相关设置

    后台设置中文在 settings.py LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = ...

  8. 商誉专题RN及H5项目总结

    React(基础框架): React 是基础框架,是一套基础设计实现理念,开发者不能直接使用它来开发移动应用或者网页. React.js(web网页开发):在React框架之上,发展出了React.j ...

  9. MySQL物理备份 lvm-snapshot

    MySQL备份之 lvm-snapshot lvm-snapshot(工具备份) 优点: 几乎是热备(穿件快照前把表上锁,创建完成后立即释放) 支持所有引擎 备份速度快 无需使用昂贵的商业软件(它是操 ...

  10. Java 8 特性 —— 方法引用

    方法引用通过方法的名字来指向一个方法.方法引用可以使语言的构造更紧凑简洁,减少冗余代码.方法引用使用一对冒号 :: .下面,我们在 Car 类中定义了 4 个方法作为例子来区分 Java 中 4 种不 ...