1 Git 分布式代码管理工具(基于Linux,可在本地进行提交)代码同时储存在本地和服务器中

Git基本操作命令

1)初始化,创建初始化仓库

git init ------- 文件初始化,初始一个仓库,一般在根文件夹执行,创建一个.git的隐藏文件夹

ls ------- 查看根文件中的文件

ls -a-------查看根文件中的文件的路径

2)配置信息,创建个人信息

git config ------- 开启文件配置

git config ------- 开启文件配置,

git config --global user.name “tabb”------- 配置文件名,--global表示是全局变量,不设置这参数,表示配置的内容只在这个文件夹下生效

git config user.email “tabb@sina.com”------- 配置文件名对应邮箱

git config–list ------- 查看配置信息列表

3)代码提交

初始化的.git文件夹,包含暂存区、仓库两部分

git add ./reademe.md ------- 将该路径的文件提交到暂存区

git add . ------- 将该路径的所有文件提交到暂存区,.等同于./

git commit -m 注释内容------- 将暂存区中的文件提交到仓库中,-m表示指定一个字符串,作为提交的注释说明,这样代码就提交到仓库中进行了备份

git pull https://github.com/TabbCoding/chinese-chess.git ------下载代码

git push https://github.com/TabbCoding/chinese-chess.git master------- 向github服务器提交代码,添加-u参数,可实现master关联

gitremote add originhttps://github.com/TabbCoding/chinese-chess.git------- 创建变量origin 存储这个地址,后续push不需输入地址,输入变量即可

push提交代码之前,最好先把原来的代码pull下来,看看有没有改变过,如果有改变可以在本地修改后再提交,否则直接提交的话如果服务器代码改变,会发生冲突报错

合并提交代码,将add commit两步骤分合并成一个步骤,只对修改后的文件有用,对新添加的文件无效

git commit -a -m 注释内容------- 合并add与commit两步骤提交,-a表示把所有修改后的文件提交到暂存区

4)查看工作区状态

git status------- 查看工作区内容

出现红色,表明有文件或修改过的文件,没有提交到暂存区,出现绿色表明,有文件或修改过的文在暂存区,没有提交到仓库中

5)忽略不想提交的文件

先在当前目录下创建.gitignore文件,没有后缀名

.gitignore文件内,写下/test.txt即需要忽略的文件名,再在git status中查看时,即使该文件没有提交也不会报出红色提示,写/.gitignore,即可忽略.gitignore文件本身

写下/css/*.css 表示忽略css目录下的所有.css后缀的文件,*是通配符

6)比较文件差异

git diff------- 比较工作区文件与暂存区文件差异,如果暂存区没有文件,就会将工作区代码与最近一次提交进行对比

git diff --cached------- --cached 参数表示缓存,加上这个参数表示,将暂存区文件与最近一次提交的文件进行对比

git diff 0e2345…(注释:这是commit版本号) 1f4567…(注释:这是commit版本号) ./reademe.md(注释:这是需要比较的文件路径)------- 比较两次提交的文件,commit版本号git log中查询,可使用git log --oneline使提交信息在一行中显示,此时commit版本号会简写为7为数字,也可使用该7为数字进行比较

7)查看git执行日志

git log------- 查看执行提交commit的内容,会给commit一个唯一的hashCode值,相当于这次提交操作的id(版本号),可追踪提交操作

git log --oneline------- 在一行中显示执行提交commit的内容,--oneline参数表示,在一行中显示

git reflog------- 查看所有的操作,可以看到所有的版本号

8)版本回退

git reset --hard Head~1------- 使文件回到上上次提交的状态,Head~0表示回到上一次提交的状态

git reset --hard 0e23456…(注释:这是commit版本号)------- 使文件回到指定版本号的状态

9)分支操作(主分支名是master):将内容提交到分支中,不影响主分支、其他分支提交

如果在分支中和主分支中同时修改了代码,在合并时会发生冲突,在代码中也会显现,手动修改即可

git branch name ------- 创建一个分支, name是给分支起的名字

git branch------- 查看当前分支名,

git checkout name ------- 切换操作到name名字分支下

git merge name ------- 合并名字name的分支到主分支之中

git branch –d name ------- 删除名字name的分支-d参数表示删除

10)删除仓库中的文件

git rm –cached “./reademe.md” ------- 不删除物理文件,仅将该文件从缓存中删除

git rm –f “./reademe.md” ------- 不仅将该文件从缓存中删除,还会将物理文件删除(不回收垃圾站)

11)查看文件

git ls-files------- 查看当前文件名

12)在github上搭建博客

新建一个项目,只需要把index.html文件上传到gh-pages分支上就可以了,打开

[github用户名].Github.io/[上传index.html文件的仓库名]/index.html会自动打开index.html文件,相当于是个网页

13ssh方式上传代码(公钥-私钥)

14)图形化git工具 TortoiseGit

2 npm(node package manger) 引入库、插件的管理工具

1npm初始化:安装nodejs自带安装npm

使用cmd,切换到需要使用npm的文件的路径,输入npm init

例如:D:\ data\MyGit\npm-demo>npm init

会生成一个package.json的文件,里面包含下载安装的插件的版本信息

在初始化时会要求设置name,基本信息,可以通过加上 -y 指令:表示接受默认设置,这样可以避免每次初始化都设置,完整指令:npm init -y

2npm安装jquery初始化文件夹不能命名为jQuery,否则安装不上

在初始化的文件夹路径下输入npm install jquery --save

npm会在这个文件夹中生成node_modules文件夹,里面包含jquery

需要查看jquery的版本,点开package.json即可

3npm安装指定版本jquery

在需要安装的文件夹路径下输入npm install jquery@3.0.0 --save即可

4)移除jquery

在需要移除的文件夹路径下输入npm remove jquery –save

或者npm uninstall jquery –save

5)使不同的文件夹安装相同的node_modules库文件夹

把已经生成的package.json文件拷贝的需要安装node_modules库文件夹的文件夹下,再在该文件夹路径下执行npm install --production,该文件夹就有相同的node_modules库文件夹了

6browser-sync自动刷新浏览器插件(工具一般-g全局安装)

全局安装的包,默认放在:C:\Users\user\AppData\Roaming\npm\node_modules文件夹下

安装命令:npm install browser-sync -g  全局安装

使用命令:browser-sync start --server --files “./index.html , ./css/*.css”

最后””内输入需要刷新监听的文件的路径

7gulp自动化构建工具(代码合并、压缩)

安装命令:npm install gulp-cli -g  全局安装

在需要安装gulp的项目文件夹,先npm init初始化npm

然后非全局安装gulpnpm install gulp --save-dev

非全局安装gulp-uglify插件(代码压缩,混淆插件):

npm install gulp-uglify --save-dev

非全局安装gulp-concat插件(代码合并插件):

npm install gulp-concat --save-dev

非全局安装gulp-cssnano插件(css压缩插件):

npm install gulp-cssnano --save-dev

非全局安装gulp-htmlmin插件(html压缩插件):

npm install gulp-htmlmin --save-dev

gulpfile.js文件中声明gulp

获取gulp对象

var gulp = require('gulp');

引入gulp-uglify插件

var uglify = require('gulp-uglify');

引入gulp-concat插件

var concat = require('gulp-concat');

a) .新建对js处理的任务

gulp.task('script', function() {  在函数中写需要做的事情

src匹配到创建的文件,如果是多个文件需要写在数组中

gulp.src( ['./test1.js' , ’./test2.js’] )

.pipe(concat(‘all.js’)将上述两个文件合并到一个文件all.js

.pipe(uglify() 执行uglify压缩,混淆

.pipe(gulp.dest('./dist'));   pipe输出到指定的目录dist

})

b) .新建对css处理的任务

引入gulp-cssnano插件

var cssnano = require('gulp-cssnano');

gulp.task('style', function() {  在函数中写需要做的事情

src匹配到创建的文件,如果是多个文件需要写在数组中

gulp.src( ['./test1.css' , ’./test2.css’] )

.pipe(concat(‘all.css’)) 将上述两个文件合并到一个文件all.css

.pipe(cssnano() css文件进行压缩

.pipe(gulp.dest('./dist'));   pipe输出到指定的目录dist

})

c) .新建对html处理的任务

引入gulp-htmlmin插件

var htmlmin = require('gulp-htmlmin');

gulp.task('html', function() {  在函数中写需要做的事情

src匹配到创建的文件

gulp.src('./index.html’)

html文件进行压缩,并合并空白符

.pipe(htmlmin({collapseWhitespace:true}))

.pipe(gulp.dest('./dist'));   pipe输出到指定的目录dist

})

d) .监视文件变化,并调用指定任务处理代码:实现可以动态压缩代码,只要书写的代码发生变化,压缩的代码也动态改变,第一个参数是监视的文件名,第二个参数是想要执行的任务

gulp.task('watch', function() {

gulp.watch( [ ‘./test1.js’ , ‘./test2.js’ ] , [‘script’] )

})

再在该gulpfile.js路径下的cmd命令窗口输入:gulp watch,即可实现

e) .gulp下使用browser-sync

非全局安装browser-sync插件:

npm install browser-sync --save-dev

引入browser-sync插件

var browserSync = require('browser-sync');

gulp.task('watch', function() {

browserSync.init({    初始化

server: ’./dist’,     指定网站的根目录

files: [‘./dist/index.html’]

})

gulp.watch( [ ‘./index.html’ ] , [‘html’] )

})

8npm安装补充

由于npm是外网,在国内安装可能存在网速过慢安装失败,可以尝试将npm换成cnpm(国内的镜像---淘宝镜像),再安装

cmd中执行命令:

 npm install –g cnpm --registry=https://registry.npm.taobao.org

即安装cnpm再把后面的npm全部变成cnpm即可

直接切换到淘宝镜像

npm config set registry http://registry.cnpmjs.org

nrmnpm管理工具)的简单使用:

安装nrm:npm install -g nrm

使用nrm查看可用服务器:nrm ls

测试服务器网速:nrm test

切换服务器:nrm use taobao

之后还是使用npm命令安装,效果一样,只是服务器切换到了taobao

代码管理工具 (含git、npm、gulp)的更多相关文章

  1. 代码管理工具之git的学习

    1.代码管理工具git的学习  http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 2.github的使用帮助   https:// ...

  2. IOS-源代码管理工具(Git)

    一.简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Benedict ...

  3. 代码管理工具:Git 和 Svn 的简单操作

    1. git 先注册git config --global user.name "name" git config --global user.email "email& ...

  4. git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0

    // ConsoleApplication10.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream& ...

  5. 代码管理工具 --- git的学习笔记二《git的工作原理》

    通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便 ...

  6. GIT: 分布式开发 代码管理工具使用命令大全

    代码管理工具: GIT     什么是GIT? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...

  7. Git代码管理工具

    Git代码管理工具 Git 是分布式的源代码管理工具,这点区别于svn -让源代码可以被追溯,主要是记录了每次的更新了什么,如果新版本不想用,那么则可以退回之前的版本 -Git 是Linux之父当年为 ...

  8. 通过代码管理工具 git 完成一次完整的代码管理过程

    1.从公共远程fork一份自己的本地远程之后,从本地远程 clone 到本地 2.将本地代码跟公共远程代码做关联配置 git remote add upstream https://github.co ...

  9. 代码管理工具 Git

    之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...

随机推荐

  1. 使用 MySQL 存储 Hue 元数据

    1.在 MySQL 中增加数据库 hue 2.编辑 hue.ini 文件 [[database]] # Database engine is typically one of: # postgresq ...

  2. Cyclone IV器件的逻辑单元和逻辑阵列快

    1. 逻辑单元 (LE) 在 Cyclone IV 器件结构中是最小的逻辑单位.LE 紧密且有效的提供了高级功能的逻辑使用.每个 LE 有以下特性:一个四口输入的查找表 (LUT),以实现四种变量的任 ...

  3. 【C#】 URL Protocol

    [C#] URL Protocol 网页调用本地程序, 支持 Windows 下所有浏览器, 与浏览器插件对比实现简单,但判断是否调用成功时, 只有ie10以上有函数,其他浏览器得自己实现(用 ifr ...

  4. (3)分布式下的爬虫Scrapy应该如何做-递归爬取方式,数据输出方式以及数据库链接

    放假这段时间好好的思考了一下关于Scrapy的一些常用操作,主要解决了三个问题: 1.如何连续爬取 2.数据输出方式 3.数据库链接 一,如何连续爬取: 思考:要达到连续爬取,逻辑上无非从以下的方向着 ...

  5. 阿牛的EOF牛肉串(递推)

    阿牛的EOF牛肉串 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Sub ...

  6. nonebot 源码阅读笔记

    前言 nonebot 是一个 QQ 消息机器人框架,它的一些实现机制,值得参考. nonebot NoneBot 初始化(配置加载) 阅读 nonebot 文档,第一个示例如下: import non ...

  7. java文件的I/O

    [原创] java文件的I/O操作,简单来说就是向文件中写入数据以及从文件中读出数据,这是我们平日做的最多的操作,这里给出两种文件I/O操作,当然还有许多的操作方法,各种流的使用,可谓是高深莫测:不管 ...

  8. 用OneNote写博客的方法

    1.进入OneNote要发布博客的分区然后点击菜单栏中的文件         2.点击发送至博客         3.这时候会启动word程序弹出下面的对话框(如果你从未设置过)点击立即注册     ...

  9. SSH答疑解惑系列(二)——java.lang.reflect.InvocationTargetException异常

    在项目中遇到了invocationTargetException的问题,在这里跟大家分享一下. 报错信息如下: 使用反射时,比如执行invoke方法,如果被反射执行的方法体抛出了Exception,这 ...

  10. 【Solr】——Solr7安装教程

    前提 solr已经升级7.1,但是我们公司的solr还是使用的4.4,你们说low不low!!!重要的是,人家花费了大气将solr升级,从技术的角度来说solr7比solr4那是翻天覆地的改变! so ...