【Git】git系统学习(一):常用指令
1、配置工具
$ git config --global user.name "[name]"
设置用户名
$ git config --global user.email "[email address]"
设置邮箱
$ git config --global color.ui auto
自动配置命令行的输出颜色
$ git config --global color.ui true
全部打开颜色配置
$ git config --global color.ui false
全部关闭颜色配置
2、创建存储库
$ git init [project-name]
创建本地库,项目名(project-name)可选
$ git clone [url]
克隆远程库(包括整个版本历史)
3、修改后如何提交
$ git status
列出所有准备要提交的新文件或修改文件
$ git diff
显示还没有执行“git add [file]”的文件中的差异,如果已经执行了“git add [file]”,将不会再打印出来,因此“git diff”一般在“git add”之前使用
$ git add [file]
添加需要提交的文件
$ git reset [file]
撤销操作“git add [file]”,回到执行“git add [file]”之前的状态
$ git diff --staged
显示已经执行了“git add [file]”的文件和上一个版本的差异,如果没有执行“git add [file]”,将不会打印出来,因此“git diff --staged”在“git add [file]”之后使用。
$ git commit -m "[descriptive message]"
提交已经执行“git add [file]”的文件,并更新版本。
4、分支操作
$ git branch
列出当前存储库中的所有本地分支
$ git branch [branch-name]
创建一个新分支branch-name
$ git checkout [branch-name]
切换到指定的分支branch-name并更新工作目录
$ git merge [branch]
将指定分支branch的历史记录合并到当前分支
$ git branch -d [branch-name]
删除指定的分支branch-name
5、删除、重命名文件
$ git rm [file]
删除文件,删除后可以通过git checkout [file]恢复,或git commit提交。
$ git rm --cached [file]
从版本控制中删除文件,但本地的没有删除,这点与“git rm [file]”不同
$ git mv [file-original] [file-renamed]
更改文件名并准备提交
6、查看历史更改记录
$ git log
列出当前分支的版本历史
$ git log --follow [file]
列出文件的版本历史,包括该文件重命名之前的版本历史,但是file必须是现在的名字,即重命名之后的名字
$ git diff [first-branch]...[second-branch]
显示两个分支之间的内容差异
$ git show [commit]
显示指定提交版本的更改内容
[commit]是提交时生成的版本号,如下面的1b2d817aa982a91b3a16b7f02a990a8f72fe4e2d
commit 1b2d817aa982a91b3a16b7f02a990a8f72fe4e2d
Author: laoer <>
Date: Tue Aug 21 09:44:29 2018 +0800hello
7、忽略临时文件、目录等
在工程目录(与.git同级目录)中创建“.gitignore”文件。.gitignore文件中写入需要忽略的文件和目录,每行一个,支持正则表达式。编辑完.gitignore需要使用git add和git commit提交。下面是一个常用的.gitignore文件
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip# Logs and databases #
######################
*.log
*.sql
*.sqlite# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
可以使用下面命令来查看,被忽略掉的文件或目录:
$ git ls-files --other --ignored --exclude-standard
8、临时保存和恢复
如果代码写的一半,需要保存后切换到其它分支上去,但是又不想commit到版本库中,以免污染了提交日志,这时就要用到“git stash”
$ git stash
临时保存更改内容
$ git stash list
列出临时保存的更改内容
$ git stash pop
恢复临时保存的更改内容
$ git stash drop
删除临时保存的更改内容
9、重新提交
$ git reset [commit]
恢复指定版本号commit后将恢复至指定版本,但本地内容不会更改,重新提交后,指定版本号以后的记录将会丢弃。最好不要使用。
$ git reset --hard [commit]
这将会删除所有记录,包括本地的内容。严禁使用
10、多人协同工作
$ git branch -a
查看所有分支,红色的是远程分支
git fetch
获取远程分支
git diff HEAD FETCH_HEAD
查看本地和远程的区别
git merge origin/master
合并
git push -u origin master
将本地的master分支推送到origin主机
相关文章:

腾讯裁撤中层干部,拥抱年轻人
据 36Kr 最新报道,数名消息人士证实,2018 年 12 月内部员工大会后,腾讯开始裁撤一批中层干部。整个腾讯大概有两百多名中干,此轮调整比例约为10%,有战略发展部的腾讯员工认为,实际甚至超过了这个比例。截止…

cmder里ls、pwd、自定义的alias等一系列命令都无法使用
win10下cmder很多命令history pwd无法使用,ls字体也没有颜色显示,其根本原因是win10下cmd控制台版本问题,切换回老版本就OK了 转载于:https://www.cnblogs.com/hdk1993/p/8620799.html

文件操作01 - 零基础入门学习C语言60
第十一章:文件操作01 让编程改变世界 Change the world by program C文件概述 所谓“文件”是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执…

iPad mini时隔四年更新,搭载A12芯片,起售价2999
整理 | 非主流出品 | AI科技大本营(公众号id:rgznai100)距离苹果的春季发布还有一周,但就在昨天,苹果毫无征兆地给广大果粉来了一场预热。3 月 18 日下午,苹果官网进行更新,悄悄地推出了两款新品…

【Qt】通过QtCreator源码学习Qt(一):pro文件
1、学习目的 学习pro文件的语法规则,这在跨平台项目中会经常用到。和条件编译相似,在pro中可以根据平台选择不同的编译模块、文件,还可以向源码中传递变量等。 2、学习方法 通过学习QtCreator源码中的pro文件,来掌握pro文件语法规则,下面以qtcreator.pro文件为例,先看…

TCP和UDP相关记录
有关于计算机网络的知识,准确来说我也忘得差不多了,现在要开始找实习了。努力从新学一下,记录在这里以防丢失。 --------------------------------------------------------- 首先对于网络层次有很多种分法。大致有7层结构、5层结构、4层结构…

win2003服务器iis6.0环境下php5.3.2安装配置
IIS6PHP5.3.2配置: 在windows下使用ApachePHP的,请选择VC6版本; windows下使用IISPHP的,请选择VC9版本 首先要知道的是,那个服务器平台对应PHP那个版本: 1、在windows下使用ApachePHP的,请选择…

李飞飞宣布成立斯坦福“以人为本AI研究院”
本位首发于公众号极客公园(ID:GeekPark)作者 | 沈知涵、biu编辑 | 宋德胜AI 不是要取代我们,而是让我们做得更好。这一次,台上的李飞飞不是 Google Cloud 的首席科学家,也不是斯坦福人工实验室(…

【Qt】菜单栏、工具栏、状态栏、右键菜单的实现
在QMainWidget基础上实现菜单栏、工具栏、状态栏、右键菜单。 头文件: #ifndef GWDEMO_H #define GWDEMO_H#include <QMainWindow> #include <QMenu> #include

云计算公司Zuora提交IPO申请 预计募资1亿美元
2019独角兽企业重金招聘Python工程师标准>>> 总部位于硅谷的云计算公司 Zuora 周五向美国证券交易委员会(SEC)提交招股说明书,计划通过首次公开募股(IPO)募集 1 亿美元资金。 Zuora 已发布针对云计算提供商…

浅谈“闭包”,什么才是“闭包”思想!—— javascript
先看一个简单小案例:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME"Generator" CONTENT""> <META NAME"…

Debug神经网络的五项基本原则
整理 | 琥珀出品 | AI科技大本营(公众号id:rgznai100)很多情况下,研究人员会遇到一个问题:使用机器学习框架实现的神经网络可能与理论模型相去甚远。验证这款模型是否可靠,直接方式就是不断修正和调参。例如…

iOS获取手机型号
2019独角兽企业重金招聘Python工程师标准>>> //不同iPhone设备屏幕比例 iPhone5,4寸,比例16:9 iPhone5c,4寸,比例16:9 iPhone5s,4寸,比例16:9 iPhone6&#x…

【Qt】通过QtCreator源码学习Qt(二):跨平台编程
1、Qt对当前平台的判断 在qsystemdetection.h中根据宏定义来判断当前的操作系统,常用的操作系统如下: Q_OS_WIN、Q_OS_LINUX、Q_OS_MAC、Q_OS_UNIX qsystemdetection.h源码如下 #ifndef QGLOBAL_H # include <QtCore/qglobal.h> #endif#ifndef QSYSTEMDETECTION_H

能说明你的Javascript技术很烂的五个原因
Javascript 在互联网上名声很臭,但你又很难再找到一个像它这样如此动态、如此被广泛使用、如此根植于我们的生活中的另外一种语言。它的低学习门槛让很多人都称它为学 前脚本语言,它另外一个让人嘲笑的东西是动态语言的概念是偏偏使用了高标准的静态数据…

FPGA在人工智能时代的独特优势
来源 | 老石谈芯作者 | 老石,博士毕业于伦敦帝国理工大学电子工程系,现任某知名半导体公司高级FPGA研发工程师,深耕于FPGA的数据中心网络加速、网络功能虚拟化、高速有线网络通信等领域的研发和创新工作。曾经针对FPGA、高性能与可重构计算等…

【Qt】通过QtCreator源码学习Qt(三):linux平台的信号、程序崩溃处理
崩溃处理设置:CrashHandlerSetup 1、原理 在堆中为信号处理函数分配一块区域,作为该函数的栈使用,当系统默认的栈空间用尽时,调用信号处理函数使用的栈是在堆中分配的空间,而不是系统默认的栈中,所以它仍旧可以继续工作,执行崩溃处理程序。 崩溃处理使用的LSM(Linux…

WebGL 3D 工业隧道监控实战
2019独角兽企业重金招聘Python工程师标准>>> 前言 监控隧道内的车道堵塞情况、隧道内的车祸现场,在隧道中显示当前车祸位置并在隧道口给与提示等等功能都是非常有必要的。这个隧道 Demo 的主要内容包括:照明、风机、车道指示灯、交通信号灯、…

设计模式(4)-序列生成器之单例模式
场景:序列生成器 系统中统一的序列生成程序,整个系统统一一套!那么就用单例模式吧! 首先看看单例模式 1)类持有一个自己的实例,而且还是个静态实例。 2)类的构造函数为私有属性。 3)…

【Qt】通过QtCreator源码学习Qt(四):插件管理PluginManager
1、简介 QtCreator使用插件架构,方便扩展。它的核心是插件管理,主类是PluginManager。 下面是翻译src\libs\extensionsystem\pluginmanager.cpp中关于插件的一些说明,后续会详细分析插件管理的代码。 2、名字空间、主要类介绍 插件使用的名字空间是namespace:ExtensionS…

云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型
3 月 19 日,根据官方消息,云从科技基于单帧图像的 3D 人体重建技术同时在 Human3.6M、Surreal 和 UP-3D 三大数据集上创造了最新的世界纪录,将原有最低误差记录大幅降低 30%。Human3.6M 数据集上对比Surreal 数据集上对比UP-3D 数据集上对比3…

windows7/8 安装mysql5.7
简单记录下安装步骤: 网上下载了安装包,一路next默认即可,中间会出现 选择安装x64或 x86版本,这边科普下 x86代表32位操作系统,x64代表64位操作系统。 如果提示3306端口被占用,执行下netstat -aon|findst…

FGMap学习之--三维地图
你是否想让自己的地图以三维的形式展示出来呢?在三维下查看QQ地图、Bing地图、MapABC地图或者自己的地图是否有不一样的感觉呢?今天我们就来看看如果使用FGMap API来实现这个功能。 上次我们做了一个天气预报的示例,今天我们在三维地图上查看…

NLP实践:对话系统技术原理和应用
本文节选自电子工业出版社《自然语言处理实践:聊天机器人技术原理与应用》作者:王昊奋&邵浩&李方圆&张凯&宋亚楠以下是节选内容按照技术实现,我们可将任务驱动的对话系统划分为如下两类:模块化的对话系统分模块串…

沃尔沃加入英伟达阵营 2021年开卖自动驾驶汽车
随着研发的深入,自动驾驶行业越来越显现出合纵连横的趋势。本周,英伟达阵营再次迎来新的合作伙伴——沃尔沃和瑞典汽车零部件供应商Autoliv。其实此前沃尔沃的自动驾驶项目“DriveMe”所用的测试车辆就搭载了英伟达DrivePX平台,该公司的自动驾…

【Qt】通过QtCreator源码学习Qt(五):QLoggingCategory管理、分类、过滤打印信息
1、QLoggingCategory简介 在QtCreator源码中新学到一个类QLoggingCategory。 QLoggingCategory可以控制打印输出类别和区域。方便在调试时,过滤掉不关心的打印信息。 2、使用方法 声明 在头文件中声明,供其它文件使用 #include <QLoggingCategory> Q_DECLARE_LOGG…

个人随笔——衰人自叙卷壹
为什么80%的码农都做不了架构师?>>> 臣本菜鸟,求学于锦江,致力就职于专业,不求闻达于外企。HR不以臣级低,BOSS亲点,后召臣入研发部门,晓臣以编码之事,由是感激ÿ…

【Qt】通过QtCreator源码学习Qt(六):命令行参数解析实现
参考下大神的命令行参数解析是如何是实现的 //使用const char []代替宏定义字符串,我以前都是用const QString,想想好傻 const char SETTINGS_OPTION[] = "-settingspath"; const char INSTALL_SETTINGS_OPTION[] = "-installsettingspath"; const char…

【黑客浅析】像黑客一样思考
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:由云鼎实验室发表在云社区 网络安全里经常说的一句话是未知攻焉知防,基本所有的安全人员也是一名黑客,在黑客攻击愈发普遍的今天,如何更好的防御黑客攻击…

Python的最佳学习方式
作者 | GENEVIEVE CARLTON译者 | 姜松浩责编 | 屠敏转载自 CSDN(ID:CSDNNews)以下为译文:如今想要学习 Python 的人拥有比以往更多的资源。但是,这也可能使筛选书籍、课程和其他 Python 资源变得相对困难。并不是每个人…