Git入门简介
本文简单介绍一下Git的使用,主要内容有下:
- Git基本介绍
- Git相较于SVN的优势
- Git使用流程及常用命令
Git基本介绍
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 —— [ 百度百科 ]
GitHub:https://github.com/ GitHub就是一个基于Git的代码托管网站。在上面,你可以免费托管你的代码,进行版本控制,同别人协同开发,众多优秀开发者的代码托管地。
Gitlab:使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
Git相较于SVN的优势
git比svn更快,更加流畅
git是分布式,就算服务器跪了也没问题,svn就做不到
拥有github,优秀开发者同台竞技的地方
等等……
Git使用流程及常用命令
以GitHub为例,
1.Create a new repository
2.本地创建空文件夹,在文件下执行以下demo:
git init //初始化
git add README.md //将工作文件修改提交到本地暂存区
git commit -m “first commit” //提交暂存区文件
git remote add origin https://github.com/mengkaimiao/document.git //关联远程仓库
git push -u origin master //推送修改给远程仓库
避免重复输入用户名、密码问题:
用ssh方式访问,取代默认的https访问,url是 https的时候会采用用户名认证.,是ssh地址的时候才会采用ssh认证,具体方法:
vi 本地目录/.git/config,修改https://github.com/mengkaimiao/document.git
为git@github.com:mengkaimiao/document.git
这样就ok啦。
其他常用命令list:
克隆远程仓库到本地:
git clone https://github.com/mengkaimiao/document.git
创建分支
git checkout –b dev:表示创建并切换,相当于如下2条命令
git branch dev 创建分支
git checkout dev 切换分支
合并代码: git merge dev git merge命令用于合并指定分支到当前分支上
git status 查看仓库状态
git rm XX 删除XX文件
git branch –d dev 删除dev分支
git add -A 一次性add所有文件
git add . 将所有修改过的工作文件提交暂存区
git pull origin master从远程获取最新版本并merge到本地
git fetch origin master从远程获取最新版本到本地,不会自动merge
撤销类命令:
回退到上个版本:git reset –hard HEAD^
git reset HEAD^ file;回退某文件到上个版本
如果是单个文件
1.use “git reset HEAD …” to unstage
如果已经用add 命令把文件加入stage了,就先需要从stage中撤销
然后再从工作区撤销
2.use “git checkout – …” to discard changes in working directory
git checkout a.txt 撤销a.txt的变动(工作区上的文件)
如果是多个文件
git chenkout .
如果已经commit 了,则需要
git commit –amend 来修改,这个只能修改最近上一次的,也就是用一个新的提交来覆盖上一次的提交。因此如果push以后再做这个动作就会有危险
$ git reset –hard HEAD :彻底回退到某个版本,本地的源码也会变为上一个版本的内容,此命令慎用!
这条命令同时还可以用来撤销还没commit的merge,其实原理就是放弃index和工作区的改动,因为没commit的改动只存在于index和工作区中。
$ git reset –hard HEAD^ 用来撤销已经commit的内容(等价于 git reset –hard HEAD~1) 。原理就是放弃工作区和index的改动,同时HEAD指针指向前一个commit对象。
注:撤销类命令出自
(http://www.cnblogs.com/lwzz/archive/2013/02/23/2921426.html)
相关文章:
Git入门简介
本文简单介绍一下Git的使用,主要内容有下: Git基本介绍Git相较于SVN的优势Git使用流程及常用命令 Git基本介绍 Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 —— [ 百度百科 ] GitHub:https…...

《移动App测试实战》读书笔记
总的来讲,这本书基本涵盖了移动App测试的方方面面,并结合各个专题做了简单讲解,对于扩展无线端测试的知识面有极大的好处,缺点是知识点点到为止,毕竟全书300多页的篇幅也不可能对知识点进行专题讲解。书中作者提到的一…...

http load介绍
前几天工作中要对项目的接口做简单压测,就使用了http load做了简单测试,下面介绍一下这款工具的使用说明。简介:http_load是基于linux平台的性能测试工具,它体积非常小,仅100KB。它以并行复用的方式运行,可…...
工具介绍:ITerm 2
今天介绍一款终端工具ITerm2,有了它,大大提供了我们的工作效率;官方地址:http://www.iterm2.com/ 颜控首选,不多说,上图: bg图片、字体、颜色等都可以在Preferences里设置,强大&…...

shell编写图片抓取器
最近在看《Linux Shell脚本攻略》一书,书中有个图片抓取器的script,抓取出来记录一下。适用范围:适合抓取html里符合img标签正则规则的图片。 #!/bin/bash if [ $# -ne 3 ] thenecho "Usage: $0 URL -d DIRECTORY"exit -1 fi for …...

SSH免密码登录
公司服务器很多的话,如果每次连接都需要输入密码,那就太麻烦了。So,免密登录就可以大大提高我们的工作效率了。 下面介绍ssh免密登录的方法: 实现步骤: 1.在你的自己的机器下面使用ssh-keygen命令来实现创建公钥 使…...
Jmeter访问HTTPS请求
公司最近在搞全站HTTPS改造,进一步提高网站的安全性,防止运营商劫持。那么,改造完成后,所有前后端的URL将全部为https。 So ,研究下怎么用Jmeter访问https请求呢。 其实很简单, 第一步在jmeter中创建HTT…...

《Maven实战》读书笔记
之前对Maven有些认识,通过这本书《Maven实战》一起系统的回顾一下,总结的东西不会很全面,但都是日常工作中最常用的。 简介: maven翻译为“知识的积累”,基于项目对象模型(Project Object Model࿰…...

github/gitlab 管理多个ssh key
以前只使用一个 ssh key 在github上提交代码,由于工作原因,需要再添加一个ssh key在公司的 gitlab上提交代码,下面记录下配置过程,防止遗忘。 生成并添加第一个ssh key 第一次使用ssh生成key,默认会在用户~ÿ…...
解决部分国产机连不上adb shell的办法
手里头认领了公司的部分测试机,但是工作中发现部分手机连上usb后,adb devices识别不出设备。下面总结一下解决办法: 魅蓝Note2: 1.在命令行输入 system_profiler SPUSBDataType,查看连接的usb设备的信息,如下图&…...

流式断言器AssertJ入门介绍
之前一直使用Junit自带的Assert类进行断言,尽管这能满足一些我们最基础的需要,但从功能上来讲还是不够强大的。 今天介绍一款功能强大的流式断言器AssertJ,所谓的流式断言就是相较于Assert的单个校验点断言,支持一条断言语句对实…...
单元测试框架-Junit介绍
在工作中编写接口脚本中经常用到junit作为测试框架,下面总结一下junit的用法和编写规范,供大家参考。 junit简介: 基于Java语言的单元测试框架,在日常工作中被广泛运用于单元测试和接口测试。 junit官网:http://jun…...

TestNG使用总结
TestNG简介: TestNG是一个测试框架,其灵感来自JUnit和NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便。 TestNG相较于Junit的优点: 可指定执行顺序, dependsOnMethods 属性来应对…...
基于数据驱动的接口自动化测试解决方案
总结一下我么项目中使用的基于数据驱动的接口自动化测试解决方案,仅供大家参考。1.接口框架设计结构 2.接口测试脚本设计原则 3.持续集成 这块用jenkins就可以了,就不介绍了,目前我们项目的集成规则介绍一下: 1.脚本job与应用对…...
python数据类型
重温python数据类型,重点掌握str,list,tuple及dict类型。...

Python高级特性
Python高级特性 切片迭代及迭代器列表生成式生成器 这些高级特性的作用都是一样的,为了代码的简洁、高效运行。 切片 切片让取一个list或tuple的部分元素变得相当简单, e.g: L[‘jack’,’mike’,’jerry’] 那么第一个位置,索引为0&a…...
ADB学习笔记
简介: ADB的全称为Android Debug Bridge(调试桥), 它是一个客户端-服务器端程序,其中客户端是你用来操作的电脑, 服务器端是android设备。作用显而易见,能方便我们在PC上对手机进行调试的一些工作。 原理…...
Appium简介
Appium简介 Appium is an open source, cross-platform test automation tool for native, hybrid and mobile web apps, tested on simulators (iOS), emulators (Android), and real devices (iOS, Android, Windows). 优缺点 优点显而易见,支持webview、hybri…...
Appium-java API详解
目前appium-java最新版本是5.0.0-BETA3,因此就拿最新的说明,以Java为例,首先引入java client的依赖:<dependency><groupId>io.appium</groupId><artifactId>java-client</artifactId><version&g…...

Appium学习遇到的坑
安装篇 Q1:安装时要求java运行环境为最低1.8,我原先的jdk1.7无法运行。 A1:升级jdk后解决。附appium安装教程 配置篇 Q2:运行提示error:Error: Android bootstrap socket crashed: Error: getaddrinfo ENOTFOUND lo…...

每天一个adb命令:pm 命令详解
介绍adb shell中一个很重要的命令——pm(Package Manager),这个命令主要用于获取和安装在 Android 设备上的应用信息。 关于pm命令的用法解析。命令行下输入adb shell pm即可获得关于pm的用法帮助,如下所示: usage: …...

每天一个adb命令:am 命令详解
am 这个命令可以帮助我们直接启动activity、service及广播。 adb shell am 可以查看命令的详细说明。 usage: am [subcommand] [options] usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>][--sampling INTERVAL] [-R COUNT] [-S] [--opengl-tra…...
每天一个adb命令:input 命令详解
input命令可以用于向键盘发送一些指令,先看看input的官方说明: Usage: input [<source>] <command> [<arg>...]The sources are:mousekeyboardjoysticktouchnavigationtouchpadtrackballstylusdpadtouchscreengamepadThe commands an…...

每天一个adb命令:screen 命令详解
screen命令分为截屏screencap命令及录制视频screenrecord命令。 screencap命令: sage: screencap [-hp] [-d display-id] [FILENAME]-h: this message-p: save the file as a png.-d: specify the display id to capture, default 0. If FILENAME ends with .png …...

每天一个adb命令:wm命令详解
wm命令可以用于获取屏幕分辨率、像素密度等。 前提:Android4.3及以上 usage: wm [subcommand] [options]wm size [reset|WxH]wm density [reset|DENSITY]wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]wm size: return or override display size.wm density: overrid…...

每天一个adb命令:dumpsys命令详解
dumpsys是一个能帮助我们对手机进行性能分析的命令,它可以帮助我们获取电池、内存、cpu、磁盘、wifi等等信息,具体能查询的信息可以通过命令: adb shell dumpsys | grep DUMP OF SERVICE DUMP OF SERVICE DockObserver: DUMP OF SERVICE Sm…...

每天一个adb命令:monkey命令详解
国际惯例,先用adb shell monkey 看看具体用法。 具体用法 usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...][-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...][--ignore-crashes] [--ignore-timeouts][--ignore-security-exceptions][--monitor-native-cra…...

JSON相关知识点
JSON是工作中经常会遇到的一种数据结构,下面来讲讲与他相关的一些知识点。 JSON简介: JSON: JavaScript Object Notation(JavaScript 对象表示法) JSON 是存储和交换文本信息的语法,类似 XML。 JSON 比 XML 更小、更快,更易解析。 JSONObj…...
markdown编写入门
什么是markdown? Markdown 是一种轻量级的「标记语言」,通过简单的标记符号来格式化排版,是文本展现的更加优美,形象。 markdown优点: 1.不像office,存在版本兼容问题,markdown无此问题&#…...
log4j学习demo
log4j简介 Log4j是Apache的一个开放源代码项目,是项目中比较常用的日志记录组件。 引入log4j <dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.14</version></dependency> log4…...
idea常用技巧收集
idea相比eclipse的优点我在这里就不赘述了,更多参考:idea官网,本文重点讲下自己在idea使用过程中常用的一些技巧,以后随时更新…… 主要分成三大块: 1. 系统设置 2. 快捷键 3. 其他设置 系统设置 主题风格设置:默…...

浅谈spring
这个话题感觉是老生常谈了,但是作为基础,我还是要沉淀一下,深刻认识。 spring核心思想 简洁的讲spring的核心思想就是两个特性:控制反转(IOC)和面向切面(AOP) 。 但是这两个概念却不太容易理解,我一开始也不太理解&…...

spring装配bean
最近在看《spring实战》一书,记录下spring装配bean这一章中自己学到的一些知识点。下面简单说明下bean和装配这两个概念的意思。 bean:在spring中代表组件,通过bean将不同的组件联系在一起。装配:是指创建应用对象之间协作关系的行…...

初识spring RestTemplate
《spring实战》读书笔记之初识spring RestTemplate。首先需要先了解下什么是REST。 REST:官方解释,表述性状态转移。 感觉还是不知所云,参考下怎样用通俗的语言解释REST,以及RESTful? 即URL定位资源,用H…...
记一次爬虫实践(一):思路及模拟登录
需求背景 因为我们的应用通常运行在h5上,因此图片格式选择了加载较快的webp格式,但是运营提起有在pc上批量下载图片(要求图片格式)的需求,目前比较麻烦,需要登录h5-找到接口中对应图片资源-一张张另存为到…...

记一次爬虫实践(二):下载图片及打包
登录之后,我们开始下载图片。 这里把完整程序po一下。 程序中用到的框架是flask,参考Flask文档 # encodingUTF-8 import zipfileimport flask import requests import os import urllib2 import time from flask import Flask, jsonifyapp Flask(__n…...

spring boot入门学习
spring boot 入门基础前言什么是spring boot?为什么要用spring boot?spring boot的常用注释有哪些?Controller层RequestMapping详解配置相关自动配置一个简单的demo实践idea如何新建spring boot项目?前言 微服务这个概念最近比较…...

常用HTML标签简介
HTML:超文本标记语言 这个没啥技术含量,这里只是简单介绍,主要是要熟能生巧。 布局相关: <!-- 标记导航 --><nav></nav> <!-- 标记侧边栏 --><aside></aside> <!-- 标记正文 --><…...

idea插件开发入门
前言:最近想研究一款自动在idea中定位缺陷及发送JIRA的快捷工具,方便提升报自动化脚本的bug的效率。因为idea插件学习是必不可少了,沉淀小结如下。 idea插件开发入门插件用途工程创建配置文件Action实现开发语法常用对象常用方法运行效果打包…...

spring boot深入及启动原理探究
围绕spring boot 的优点,本文我们来探究一下spring boot具体是如何实现这些特性的。 自动配置:针对很多Spring应用程序和常见的应用功能,Spring boot能自动提供相关配置;起步依赖:告诉Spring boot需要什么功能,它就能引…...

接口测试那些事儿
什么是接口? 首先,在讲接口测试之前,我们先要搞清楚接口类型的概念。 接口:可能是系统与系统(包括服务与服务)之间的调用,像A系统(服务)给B系统(服务&#x…...

myeclipse的一些使用技巧
一直都是看别人的博客,学习别人的心得, 但是软件行业涉及的技术太多,学过的很多东西都忘了,今天我也弄个博客玩玩, 把我所学的,工作中遇到的问题也做做记录,方便自己,也方便他人&…...

mysql重置Root密码
方法一: 在my.ini的[mysqld]字段加入: skip-grant-tables 重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysql mysql>use mysql; mysql>更新 user set passwordpassword(新密码) WHERE Userroot; mysql>flush privileges; 运…...

JfreeChart柱状图饼图
JfreeChart画出柱状图饼图的代码片段及详细的注释,附件为JfreeChart中文API一览表,和生成的柱状图,饼图图片 import java.awt.Font; import java.io.FileOutputStream; import java.io.IOException; import org.jfree.chart.C…...

自动装配的底层实现
public void autowire(Object o, Map<String, String> map) throws Exception { // 获得map 所有key Set<String> keys map.keySet(); // 获得Object中所有属性 // 获得Class对象 Class c o.getClass(); // 获得…...

java基础需要强化之关键
多线程 进程和线程的区别 ProccessBuilder 和 Runtime.getRuntime().exec java中两种线程的创建方式 extends Thread和 implements Runnable 线程的生命周期:线程创建、Runnable、Running、Blocked、dead sleep、yield、join 等方法 线程打断 interrupt 什么是守护线…...

MD5加密算法详解
注:MD5不是绝对的安全,有俩md5解决 /******************************************************************************* * keyBean 类实现了RSA Data Security, Inc.在提交给IETF 的RFC1321中的keyBean message-digest * 算法。 *****************…...

javaSE之反射
什么是反射? 简单的说:剖析java类中的各个组成部分,映射成一个个java对象。 在java.lang.reflect中。 反射用在哪? 多用于框架和组件,利用反射技术写出复用性高的通用程序 我只列出了反射中几个常用的API 类 Class 构…...

HTTP协议详解
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作…...

javaSE之动态代理
动态代理技术: 使程序更加灵活,可以在代理java类的时候加入一些功能。 很类似过滤器,区别: 过滤器是自己编写西横须实现的功能 动态代理是JVM内部机制 实现步骤: 1.真是业务对象(被代理对象) 2…...