本文根据廖雪峰的博客,记录下自己的学习笔记。主要记录常用的命令,包括仓库初始化、添加文件、提交修改、新建分支、内容暂存、分支管理、标签管理等内容。

git是分布式版本控制系统。

首先是安装,从官网下载安装包,按照提示安装即可,安装好后可以在 开始 菜单找到 Git bash,同时 右键菜单也可以看到 Git bash here。

基本概念:

工作区 Working Directory :电脑里面能看到的目录

版本库 Repository:工作区中一个隐藏目录.git,这个不算工作区,而是git的版本库。

暂存区 Stage:版本库中的一块区域

主分支 master:在创建版本库时默认创建的一个分支

指针 HEAD:指向某个分支中的某个commit

创建版本库

新建一个目录,通过如下命令可以将这个目录变成git可以管理的仓库

git init

提交修改

如果新增或者修改了一个或者多个文件,采用add命令是添加到stage(暂存区),如果没有git add到暂存区,那就不会加入到commit中。

git add file01.txt file02.txt

git commit -m "add two file"

查看工作空间的状态

git status

查看修改的内容

git diff

删除文件,先从工作区删除文件,然后用下面的命令,接着在commit,就可以从版本库中删除

git rm file01.txt

撤销误删除,可以从版本库里面恢复误删文件到工作区

git checkout -- file01.txt 

版本管理

查看提交日志和分支历史

git log

git log --graph --pretty=oneline --abbrev-commit

回退到上一个版本

git reset --hard HEAD^

回退到某个版本,下面命令中1094a的是在log中看到某个版本号

git reset --hard 1094a

查看所有的命令历史

git reflog

撤销在工作区的修改文件,注意是双短横杠--

git checkout  --file01.txt

撤销在暂存区的修改文件,执行后,修改的文件会保存在工作区

git reset HEAD file01.txt

远程仓库

可以将本地仓库的内容和远程仓库关联起来。

用如下命令将本地的内容和远程的仓库关联起来,添加后,远程仓库的名字就是origin

git remote add origin git@github.com:colin/learngit.git

推送本地内容到远程库,参数-u会把本地的master分支内容推送并且关联

git push -u origin master

每次本地提交后,可以采用如下命令推送最新修改

git push origin master

克隆远程仓库地址

git clone git@github.com:colin/learngit

分支管理

创建dev分支,并切换到dev分支

git checkout -b dev

相当于如下两条命令

git branch dev

git checkout dev

查看所有本地分支

git branch

查看所有本地和远程分支

git branch -a

查看本地分支和远程分支的跟踪关系

git branch -vv

切换回master分支

git checkout master

把dev分支合并到master分支上,前提是当前在master分支上

git merge dev

合并分支时禁用Fast forward

git merge --no-ff -m "some message" dev

删除分支

git branch -d dev

临时储藏工作区

git stash

查看stash list

git stash list

恢复临时储藏的工作区

git stash pop

创建本地分支和远程分支的链接关系

git branch --set-upstream-to <branch-name> origin/<branch-name>

标签管理

在最新的一次commit上打上标签

git tag v1.0

查看所有标签

git tag

在某次commit上打上标签,其中f5367是某次commit的id号

git tag v0.9 f5367

查看标签信息

git show v0.9

创建信息较多的标签,其中-a指定标签名,-m指定说明文字

git tag -a v0.1 -m "some message" f5367

删除标签

git tag -d v0.1

推送某个标签到远程

git push origin v1.0

一次性推送全部尚未推送到远程的本地标签

git push origin --tags

删除远程的标签,先删除本地,在push一下

git tag -d v0.9

git push origin :refs/tags/v0.9

END

git学习笔记:常用命令总结的更多相关文章

  1. GIT学习笔记——常用命令

    最近使用使用GIT较多,但命令很容易就忘记了,于是整理下,大多整理与一些文档和他人博客 在当前目录新建建一个纯git代码库 $ git --bare init 在当前目录新建一个Git代码库 $ gi ...

  2. git 学习笔记(常用命令)

    1.新建一个文件,如果没有使用git add 命令将它提交到暂存区,那么这个文件就还没有被跟踪. 2.通过配置.gitignore文件可以指定要忽略的文件,被忽略的文件夹是不会被提交到暂存区的.所以这 ...

  3. Git学习 --> 个人常用命令add,commit以及push

    Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱  git config --global user.name <用户名> 我的命令就是:git confi ...

  4. Hexo学习笔记--常用命令及部署步骤

    参考资料: Hexo搭建Github静态博客:http://www.cnblogs.com/zhcncn/p/4097881.htmlHexo:独立博客新玩法:http://www.aips.me/h ...

  5. Redis学习笔记--常用命令

    以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...

  6. SQL学习笔记---常用命令

    常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...

  7. ionic学习笔记—常用命令

    Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...

  8. Git学习笔记-相关命令记录

    内容来自:https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496 1.Linux安装Git 首先,你可以试着输入git,看看系 ...

  9. Redis学习笔记~常用命令总结

    回到目录 客户端redis-cli常用的命令总结 连接到服务器 redis-cli -h 127.0.0.1 -p 6379 --连接指定的redis服务器 发布/订阅, pub/sub模式运行在re ...

  10. MongoDB学习笔记—常用命令

    这里记录一下MongoDB常用的命令 数据库相关 创建数据库 use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 删除数据库:切换到要删除的数据库下,执行命令即 ...

随机推荐

  1. Delphi Exif

    这久要用到读取JPG 的 Exif 信息,先是在盒子里下了个Demo,但是那个太老了,是2003年的,后来下载了个CCR 1.5.1是可以使用了,但是我个人用的是Delphi 2007,似乎CCR 1 ...

  2. python3下调用系统massagebox对话框

    #python3下调用系统massagebox对话框#先安装pwin32插件https://github.com/mhammond/pywin32/releases import win32apiim ...

  3. 关于VS2010 在设计窗口时控件消失问题

    我特喵的,见鬼了. 几个相同的Tabpage中添加相同toolStrip控件,每次都是第二个Tabpage中的消失,但是查看设计器下面又显示控件存在,点击也会出现,运行后就没有了,真的是奇怪. 最后经 ...

  4. conda国内源的设置 by dwSun

    conda国内源的设置 by dwSun anaconda是一个balabalabala... 知道这个软件的人肯定不用介绍,不知道的也不必介绍. conda是anaconda的包管理器,通过cond ...

  5. LINUX系统日常使用命令

    一.开关机命令1.shutdown -h now   关闭系统2.init 0   关闭系统3.telinit 0  关闭系统4.shutdown -h hours:minutes      按预定时 ...

  6. python学习Day13 函数的嵌套定义、global、nonlocal关键字、闭包及闭包的运用场景、装饰器

    复习 1.函数对象:函数名 => 存放的是函数的内存地址1)函数名 - 找到的是函数的内存地址2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => fn的返回值 ...

  7. spark内存分配

    问题描述 在测试spark on yarn时,发现一些内存分配上的问题,具体如下. 在$SPARK_HOME/conf/spark-env.sh中配置如下参数: SPARK_EXECUTOR_INST ...

  8. PhoenixFD插件流体模拟——UI布局【Input】详解

    Liquid Input 流体输入 本文主要讲解Input折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Input 主 ...

  9. Windows 窗体

    Windows系统,顾名思义,就是窗口系统,每一个程序都可以用窗口来展示,所以,为了展示窗口,需要多做一系列的工作,当然,也有纯控制台应用,就不用附带窗口了. 首先就是窗口程序的入口地址,与传统的in ...

  10. HTTP 错误码

    HTTP 400 – 请求无效 HTTP 401.1 – 未授权:登录失败 HTTP 401.2 – 未授权:服务器配置问题导致登录失败 HTTP 401.3 – ACL 禁止访问资源 HTTP 40 ...