Git安装和常用命令
Git是目前世界上最先进的分布式版本控制系统!!!
Git能自动帮我们记录每次文件的改动,还可以让同事协作编辑。
接下来,简单的介绍下Git的安装和常用命令:
Git安装:
1、Windows系统,进入Git官网下载相关操作系统版本的安装程序,官网网址:https://git-scm.com/downloads ,下载后,按默认选项安装即可。

完成安装后,再菜单栏选择Git 》Git Bash,跳出命令行窗口,就说明安装成功了;
安装完成后,还需要最后一步设置,再命令行输入:
$ git config --global user.name "输入用户名" (自定义)
$ git config --global user.email "输入email" (自定义)
2、Linux系统安装Git:
再Linux命令窗口,输入git,看看系统有没有安装:
$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
上面告诉你没有安装Git,同时也告诉你如何安装Git。
如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。
3、Mac OS X上安装Git:
直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。
Git常用命令:
mkdir learngit 创建版本库,创建一个空目录

git init 把刚创建的库,变成git可以管理的库

vi test.txt 编辑文本内容 (Git只能编辑txt文本,word和操作系统自带的txt文本就不行。为什么不可以呢?因为格式存在二进制,因此版本控制系统无法跟踪文本的改动)

git add test.txt 文件添加到仓库 (警告提示,不用管,一般执行此命令后,不会出现任何提示信息的)

git commit -m “本次提交的说明” 文件提交到仓库

git status 让我们时刻掌握仓库当前状态,下面命令告诉我们test文本被修改了,但还没有提交。

git diff test.txt 能让我们看到, 具体修改的内容。

git log或git log --pretty=oneline ,返回的结果都是一样的,后者显示清晰,前者没用的内容显示比较多。

git reset --hard HEAD^ 回退到上一个版本,“^”回退到上一个版本,“^^”回退到上上个版本,如果是回退到10个版本,就写成git reset --hard HEAD~10。

执行成功后,最新版本“第二次添加”,已经看不到了,如果需要回退到“第二次添加”呢?如何回退?只要上面的命令行窗口没有被关闭,你就可以找到commit id是a870990e.....
执行:git reset --hard a870990e(commit id只要不存在相同的,就只输入前部分就可以了)

git reflog 用来记录每一次命令,比如:你回退到某个版本时,又关闭了命令行窗口,第二天又想恢复到之前的版本,找不到commit id怎么办?Git提供了reflog命令。

git checkout -- test.txt 撤销修改,有两种情况,一种:修改后还没有放在暂存区的,撤销修改就回到之前的版本;二种:已添加到暂存区的,(又作了修改),撤销后回到添加到暂存区后的状态;
git reset HEAD test.txt 撤销修改,已添加到暂存区的,还没有提交,撤销后回到工作区的状态
git rm test.txt 删除文件,再执行git commit -m 版本库中也被删除了
Git安装和常用命令的更多相关文章
- Git安装以及常用命令(图文详解)
**Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...
- Git的一些常用命令
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 简单的说就是托管代码的便于多人开发的管理系统. 二.Git的一些命令,我详细的说一下 我是基于github给大家说一下git的一些常 ...
- ios开发环境配置及cordova安装与常用命令
一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...
- linux基础学习之软件安装以及常用命令
linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...
- Git Bash Here常用命令以及使用步骤
1.首先,要clone项目代码: git clone 链接地址 2.更新代码: git pull 3.添加修改过的文件.文件夹: git add 修改过的文件,文件夹 4.提交并注释: git com ...
- RabbitMQ入门教程(一):安装和常用命令
原文:RabbitMQ入门教程(一):安装和常用命令 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn ...
- 记录redis安装及常用命令
Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...
- 实验 1 Linux 系统的安装和常用命令
实验 1 Linux 系统的安装和常用命令 (题目) 一.实验目的 (1)掌握 Linux 虚拟机的安装方法.Spark 和 Hadoop 等大数据软件在 Linux 操作系统 上运行可以发挥最佳性能 ...
- git在windows及linux环境下安装及常用命令
git在windows下安装 下载地址:https://git-scm.com/ 默认安装即可 验证 git --version git在linux下安装 下载地址:https://mirrors.e ...
随机推荐
- ASP.NET Cache缓存的使用
ASP.NET Cache是提升系统性能的重要方法,它使用了“最近使用”原则(a least-recently-used algorithm).在数据库访问中经常会用到Cache保存数据库数据. 1. ...
- android多渠道打包牛B工具
http://www.orchidshell.com/ 兰贝壳儿:一个Eclipse插件,为Android开发提供了多渠道打包功能和一些工具类.
- android栈和队列
android栈和队列 栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表.LinkedList数据结构是一种双向的链式结构,每一 ...
- [转载]交换机STP协议
注:之前做一个项目,测试部使用2个公司的交换机,H3C和H公司的,H公司的交换机是OEM H3C的交换机,正常来说两者使用没有区别. 但是使用中发现,如果设备的多个对外业务网口连接的交换机的聚合网口, ...
- 【转】Jmeter性能测试报告解析
Jmeter报告解析 1.Aggregate Report 解析 Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”.今天再次有同行问到这个报告 ...
- 多线程设计模式(三):Master-Worker模式
Master-Worker模式是常用的并行模式之一,它的核心思想是,系统有两个进程协作工作:Master进程,负责接收和分配任务:Worker进程,负责处理子任务.当Worker进程将子任务处理完成后 ...
- 杂项-公司:Netflix百科-un
ylbtech-杂项-公司:Netflix百科-un Netflix(Nasdaq NFLX) 成立于1997年,是一家在线影片租赁提供商,主要提供Netflix超大数量的DVD并免费递送,总部位于美 ...
- 1133 Splitting A Linked List
题意:把链表按规则调整,使小于0的先输出,然后输出键值在[0,k]的,最后输出键值大于k的. 思路:利用vector<Node> v,v1,v2,v3.遍历链表,把小于0的push到v1中 ...
- 如果axios请求失败,如何获取后端接口返回的状态码及错误信息
这两天在工作中遇到一个问题,一个请求返回400错误,我需要向用户展示后端返回的错误信息,但是用普通的catch方法只能获取到浏览器返回的400错误提示,不能获取到后端返回的,后经查阅得出下面方法: a ...
- leetcode876
class Solution { public: ListNode* middleNode(ListNode* head) { if (head == NULL) { return nullptr; ...