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

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 log --graph --oneline --decorate  --all

回退到上一个版本

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 pull origin master

这个 pull 其实相当于下面两条命令

git fetch

git merge

克隆远程仓库地址

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 checkout --track origin/dev

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

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

参考:

廖雪峰 Git 教程

转载于:https://www.cnblogs.com/colin220/p/10636794.html

Git学习笔记:常用命令总结相关推荐

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

    2019独角兽企业重金招聘Python工程师标准>>> =============================================================== ...

  2. vim学习笔记-常用命令

    vim手册功能太多了,在此整理一些常用的供后期学习查阅 1.移动光标方式 j:上(同↑) k:下(同↓) h:左(同←) l:右(同→) +或Enter: 把光标移至下一行第一个非空白字符. -: 把 ...

  3. React Native开发学习笔记——常用命令

    学习RN开发的过程中,有许多需要命令操作的功能,对涉及到的命令进行总结. 搭建环境阶段    首先需要使用命令行下载安装 Chocolatey.python 2 .node.js.Yarn.详情:Re ...

  4. shell 学习笔记 常用命令 tar cpio gzip zip

    摘自 Linux Shell 脚本攻略 第七章 B计划 使用 tar 归档 tar命令可以归档文件.它最初是设计用来将数据存储在磁带上,因此其名字也来源于Tape ARchive.tar可以将多个文件 ...

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

    1 查看类命令 --- # 查看集群信息 kubectl cluster-info # 查看各组件信息 kubectl -s http://localhost:8080 get componentst ...

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

    特性 高吞吐量.低延迟,kakka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个主题可以分为多个分区,消费组可以对分区进行消费操作. 可扩展性:kafka集群支持热扩展 扩展性:可靠性,消费被 ...

  7. git学习笔记(全,附命令大全)

    git学习笔记(全) 注:本文参考自廖雪峰官网 下图来自Git Cheat Sheet侵删 git优点 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上. Git跟踪并管理的是修改 ...

  8. Git 学习笔记:自定义Git(完)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  9. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  10. Git学习笔记使用记录

    文章目录 Git学习笔记 基本 配置环境 Install 初始化workspace Git 全局设置Global Configuration: 配置账户 创建项目仓库Create project re ...

最新文章

  1. 虚拟与现实的距离——VR的2016正如移动互联网的2009【下篇】
  2. 深度学习和目标检测系列教程 7-300:先进的目标检测Faster R-CNN架构
  3. 如何查看、备份电脑隐藏的恢复分区
  4. (王道408考研操作系统)第三章内存管理-第二节3:页面置换算法1
  5. c#里有遍历目录及子目录以树的形式展现
  6. 华为ensp命令大全_电脑网络:华为交换机基础知识及基本命令配置大全,新手的福音...
  7. python php mysql_Python 操作 MySQL 的正确姿势
  8. 1008 计算(a+b)/c的值
  9. 小米双频AC智能路由器699元震撼首发
  10. 大学计算机基础题库百度云资源,《大学计算机基础试题题库及答案》.pdf
  11. 她每天吃一个煮熟的苹果,从此打开了通往新世界的大门~
  12. 数据库原理——图书馆管理系统
  13. matlab读取图片排序1 10 2出错解决方法/图片批量重命名
  14. 网络模块的568B和568A
  15. 使用 RabbitMQ 实现 RPC
  16. 微信上传图片没反应_365微信编辑器图片上传不了怎么办?
  17. go语言视频教程_ go语言入门视频教程_go语言实战视频教程
  18. Android开发 自定义控件 边框TextView
  19. Java学习之注解(五)Android循序渐进实现高逼格自定义ViewBinder
  20. SAP SD VF01 销售开票增强

热门文章

  1. Centos7下yum安装MySQL 5.7
  2. ELK下Logstash性能调优
  3. 命令行中,变量 date time 格式化设定
  4. 浏览其中的【navigator】对象的【userAgent】判断浏览器。
  5. CSS中选择器的优先级 ( ※关于相同属性的覆盖问题 )
  6. 关于Ibatis中的executeForObject方法使用时,需要考虑空的问题!
  7. 力扣题目——997. 找到小镇的法官
  8. vim 编辑器 打开GB2312、GBK文件乱码解决方法
  9. Spring boot +java.awt.HeadlessException: null异常处理
  10. Python机器学习笔记:异常点检测算法——Isolation Forest