工具篇之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 相关资料 茶余 ...
随机推荐
- 什么是CAS机制?(转)
围绕下面四个点展开叙述: 一:什么是CAS机制? 二:Java当中CAS的底层实现 三:CAS的ABA问题和解决方法 四:java8对CAS的优化 一:什么是CAS机制? 我们先看一段代码: 启动两个 ...
- Acitiviti数据库表设计(学习笔记)
ACT_ID_*:与权限,用户与用户组,以及用户与用户组关系相关的表 ACT_RU_*:代表了流程引擎运行时的库表,RU表示Runtime ACT_HI_*:HI表示History当流程完成了节点以后 ...
- Transformer
参考资料: [ERT大火却不懂Transformer?读这一篇就够了] https://zhuanlan.zhihu.com/p/54356280 (中文版) http://jalammar.gith ...
- access数据库转sql server中ID的问题
USE [Task] GO /****** Object: Table [dbo].[Task] Script Date: 04/16/2018 16:14:56 ******/ SET ANSI_N ...
- python+ffmpeg切割视频
什么是ffmpeg 1.1 简介 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包 ...
- ORM表相关操作
一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 > all(): 查询所有结果 > filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 > get( ...
- 20165223《网络对抗技术》Exp3 免杀原理与实践
目录 -- 免杀原理与实践 免杀原理与实践 本次实验任务 基础知识问答 免杀扫描引擎 实验内容 正确使用msf编码器,msfvenom生成jar等文件,veil-evasion,加壳工具,使用shel ...
- JS绑定带参数的事件总要执行一次方法,如何避免?
类似这样:function aa(vote){alert(vote);}$(".btnn").bind("click",aa(1)});没有点击就开始执行了.怎 ...
- 分布式版本控制系统 Git 的安装与使用
作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 远端库地址:https://github.com/CJL29 ...
- git最基础操作一
1. 从远端克隆:git clone -b 克隆的分支 git的地址( eg:git clone -b master https://gitee.com/test/test.git ) 2.提交修改的 ...