工具篇之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 相关资料 茶余 ...
随机推荐
- Mysql中的explain和desc
查询分析器 desc 和 explain 作用基本一样,explain速度快一点 explain 一条SQL语句出出现以下参数, 其中id,select_type,table 用于定位查询,表示本行参 ...
- ABP中的Filter(下)
接着上面的一个部分来叙述,这一篇我们来重点看ABP中的AbpUowActionFilter.AbpExceptionFilter.AbpResultFilter这三个部分也是按照之前的思路来一个个介绍 ...
- [SCOI2009]生日礼物题解
题目 一道模拟和队列题,但模拟比队列的成分多一些.队列也就是用两个指针模拟的. 可以用枚举的思想.首先我们知道r(即区间的右端点是肯定不会左移的),而l右移的同时,r可能不变,也可能右移,所以这样就可 ...
- 【LUOGU???】WD与数列 sam 启发式合并
题目大意 给你一个字符串,求有多少对不相交且相同的子串. 位置不同算多对. \(n\leq 300000\) 题解 先把后缀树建出来. DFS 整棵树,维护当前子树的 right 集合. 合并两个集合 ...
- mysql生成20万条数据(连表插入)
创建一个存储过程 DELIMITER $$ -- 设置定界符为$$,与';'意思相同,防止相同符号产生冲突 USE `yunkc_base1`$$ -- 使用数据库 DROP PROCEDURE IF ...
- flutter - 01 基础介绍以及ListView
这篇主要讲flutter最基本的操作.我们从一个实例入手,先不需要知道它里面的每一行是什么意思,我会慢慢说. main.dart import 'package:flutter/material.da ...
- mac下安装maven
在mac下 使用 brew安装,brew install maven 查看maven版本 mvn -version 打开Terminal,输入以下命令,设置Maven classpath 添加下列两行 ...
- Android Bundle详解
http://blog.csdn.net/cswhale/article/details/39053411 1 Bundle介绍 Bundle主要用于传递数据:它保存的数据,是以key-value(键 ...
- 【Mac上的PotPlayer视频播放器】Movist Pro for Mac 2.1.2
[简介] Movist 是Mac上最好用的视频播放器之一,功能齐全,类似Windows上的PotPlayer,今天和大家分享最新的 2.1.2 中文版本,Movist 支持几乎所有常见的视频格式,包括 ...
- codeforces-1131 (div2)
A.把右上角的凹缺口补上变成凸的就成了规则矩形 #include <map> #include <set> #include <ctime> #include &l ...