工具篇之GIT知识整理(一)
项目工具篇(一)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下载地址及安装
下载地址
安装
准备安装,点击下一步
选择安装根目录
配置需要安装的组件
设置菜单目录名称
选择默认编辑器
选择使用命令行环境
Https传输后端
配置行结束标记
选择终端模拟器
选择额外选项
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知识整理(一)的更多相关文章
- 开发工具篇:Git和Github
开发工具篇:Git和Github Git是什么? Git是目前世界上最先进的分布式版本控制系统.工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repositor ...
- git知识整理
概述 工作中使用git进行代码托管,一开始只知道git add commit,之后了解了git-flow插件,觉得超牛逼,一键生成feature分支,再后来听说原生git命令更好用,于是又去学了原生g ...
- C# 基础知识系列- 16 开发工具篇
0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...
- 开发工具--浅谈Git
工具|浅谈Git Git这个工具,是我一直想写文章,终于我实现了我的想法.在我开始写之前,发表一下自己的看法,git只是一个工具,既然已经认定是一个工具,那么一定具备工具这类的共同特征,请用面向对象的 ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Git知识总览(一) 从 git clone 和 git status 谈起
本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是乎过了一遍ProGit(链接:https://git-scm.com/book/zh/ ...
- Git知识总览(三) 分支的创建、删除、切换、合并以及冲突解决
前两篇博客集中的聊了git的一些常用命令,具体请参见<Git知识总览(一) 从 git clone 和 git status 谈起>.<Git知识总览(二) git常用命令概览> ...
- Git知识总览(四) git分支管理之rebase 以及 cherry-pick相关操作
上篇博客聊了<Git知识总览(三) 分支的创建.删除.切换.合并以及冲突解决>,本篇博客我们主要来看一下 rebase 变基相关的操作.rebase 操作和 merge 操作最终都可以达到 ...
- Salesforce知识整理(一)之Lightning Web Component Tools
目录 LWC知识整理(一) 工具 Salesforce CLI Visual Studio Code(VS Code) Developer Hub(Dev Hub) 开启Dev Hub 相关资料 茶余 ...
随机推荐
- JS对JSON对象遍历输出的时候真的是按照顺序输出吗?
对象的遍历输出并不是按照对象属性定义顺序来的,那么是按照什么规则来的呢,仔细深入研究你会发现,这还跟浏览器有关系,Chrome跟IE是不一样的,所以给出以下结论: Chrome Opera 的 Jav ...
- tp5问题整理
问题一:致命错误: Class 'think\controller' not found 原因:controller首字母要大写 解决:use think\Controller; 问题二:html页面 ...
- Xshell报错“The remote SSH server rejected X11 forwarding request.”
Xshell报错“The remote SSH server rejected X11 forwarding request.” 2012年12月17日 ⁄ Linux⁄ 共 218字 ⁄ 字号 小 ...
- 【pytorch】pytorch-LSTM
pytorch-LSTM() torch.nn包下实现了LSTM函数,实现LSTM层.多个LSTMcell组合起来是LSTM. LSTM自动实现了前向传播,不需要自己对序列进行迭代. LSTM的用到的 ...
- MongoDB启动报错 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. 【转】
之前MongoDB启动的时候是蛮正常的,不知道后来启动报错了,就把粘贴出来查询了.最后才知道是由于自己不正常的关闭导致的这个情况. --摘录:MongoDB非正常关闭后修复记录 mongod没有后台执 ...
- linux软连接文件的copy
最近在做项目的时候遇到过一个问题:当copy一个工程模块时发现里面的目录文件有重复定义的情况. 最后查看源文件目录发现是存在软连接造成的. 出现这种情况的原因是:当直接copy文件目录时遇到软连接会把 ...
- django下的xadmin相关设置
后台设置中文在 settings.py LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = ...
- 商誉专题RN及H5项目总结
React(基础框架): React 是基础框架,是一套基础设计实现理念,开发者不能直接使用它来开发移动应用或者网页. React.js(web网页开发):在React框架之上,发展出了React.j ...
- MySQL物理备份 lvm-snapshot
MySQL备份之 lvm-snapshot lvm-snapshot(工具备份) 优点: 几乎是热备(穿件快照前把表上锁,创建完成后立即释放) 支持所有引擎 备份速度快 无需使用昂贵的商业软件(它是操 ...
- Java 8 特性 —— 方法引用
方法引用通过方法的名字来指向一个方法.方法引用可以使语言的构造更紧凑简洁,减少冗余代码.方法引用使用一对冒号 :: .下面,我们在 Car 类中定义了 4 个方法作为例子来区分 Java 中 4 种不 ...