1.状态查看:

git status 可以查看工作区,暂存区的状态

  • untracked 在暂存区没有该文件

  • modified 修改过

  • staged 使用git add 暂存过

2.添加操作:

git add [file name] 将工作区的新建/修改添加到暂存区

3.提交操作

git commit -m "commit message" [file name] 将暂存区的内容提交到本地仓库

4.查看历史记录

git log 多屏显示控制方式 空格向下翻页 b向上翻页 q退出 git log --pretty=online // 简洁方式 git log --oneline git reflog

5.前进后退
  • 5.1基于索引值操作[推荐] git reset --hard [索引值]

  • 5.2使用^符号:只能后退 git reset --hard HEAD^(表示往后退一步,后退几步加几个^)

  • 5.3使用~符号:只能后退 git reset --hard HEAD~n(表示后退n步)

6.reset命令的三个参数对比
  • --soft 参数

    仅仅在本地库移动指针

  • --mixed参数

    在本地库移动HEAD指针

    重置暂存区

  • --hard参数(常用)

    在本地库移动HEAD指针

    重置暂存区

    重置工作区

7.删除文件后找回

前提:删除前,文件存在的状态提交到了本地库

操作:git reset --hard[指针位置]

  • 删除操作已经提交到本地库:指针位置指向历史记录

  • 删除操作尚未提交到本地库:指针位置使用HEAD

8.文件比较
  • git diff [文件名] 将工作区中的文件和暂存区进行比较

  • git diff [本地库历史版本] [文件名] 将工作区中的文件和本地历史版本进行比较

  • 不带文件名可以比较多个文件

  • git diff --cached 比较缓存区与本地库最近一次commit内容

  • git diff HEAD 比较工作区与本地最近一次commit内容

  • git diff <commit ID> <commit ID> 比较两个commit之间的差异

9.分支管理
  • git branch 查看本地分支

  • git branch -r 查看远程分支

  • git branch [分支名] 新建一个分支

  • git branch -d [分支名] 删除分支

  • git checkout [分支名] 切换分支

  • git checkout -b [分支名] 新建分支并切换到该分支

  • git merge [分支名] 合并分支

  • git branch --merged 查看哪些分支已经合并到当前分支

  • git branch --no-merged 查看哪些分支没有合并到当前分支

10.git远程库别名

git remote add [别名] [远程库地址]

11.远程库修改的拉取

pull = fetch + merge

git pull [远程库地址别名] [远程库分支名]

git fetch [远程库地址别名] [远程库分支名]

12.推送到远程库

git push [远程库地址别名] [远程库分支名]

13.文件暂存
  • git stash save -a "message" 添加改动到stash

  • git stash drop <stash@(ID)> 删除暂存

  • git stash list 查看stash列表

  • git stash clear 删除全部暂存

  • git stash pop <stash@(ID)> 恢复改动

14.撤销操作
  • git checkout -- <file> 撤销工作区修改

  • git reset HEAD <file> 撤销暂存区文件(不覆盖工作区)

  • git reset --(soft | mixed | hard) <HEAD -num> | <commit ID> 版本回退

15.线上回滚操作
方法一:(强制指针回移)
1.查看历史记录
git reflog
2.本地分支回滚到指定版本
git reset --hard [索引值]
3.强推到远程(直接push推不上去,需要强推,因为reset之后,远程分支比本地分支新)
git push -f origin [远程分支名]

方法二:(推荐)
1.查看历史记录
git reflog
2.反向新创建一个版本,这个版本的内容与我们回滚的版本内容一致,HEAD会指向这个新版本,而不是回退到之前版本
git revert [索引值]
3.直接推送到远程即可
git push origin [远程分支名]
16.查看文档

git help -a 展示git命令大纲全部列表

git help git help [命令]

git 最新笔记,工作中的必会技能的更多相关文章

  1. 关于git你日常工作中会用到的一些东西

    前言 git是一个版本控制工具, 版本控制主要的好处有三点: 从当前版本回退到任意版本 查看历史版本 对比两个版本差异 git 相关术语 repository 仓库 branch 分支 summary ...

  2. 学习ES6笔记──工作中常用到的ES6语法

    学习博客:https://segmentfault.com/a/1190000016068235

  3. 【转】git 学习笔记( 随时更新中…… 最后更新日期201304281518)--不错

    原文网址:http://blog.csdn.net/yasin_lee/article/details/5975070 GIT 是版本管理的未来!   推荐几个GIT教程网站 http://www-c ...

  4. git在工作中的用法总结-使用篇

    上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一 ...

  5. 工作中常用的Git操作--------(一)

    今天主要记录一下平常工作当中使用的git操作: 1.git的安装这里省略: 2.git的操作指令: 在项目开发中,经常是拉去经理已经搭建好的一个项目,也就是给我们一个git地址.比如:http://g ...

  6. git工作中常用命令-工作中踩过的坑

    踩坑篇又来啦,这是我在工作中从git小白进化到现在工作中运用自如的过程中,踩过的坑,以及解决办法. 1.基于远程develop分支,建一个本地task分支,并切换到该task分支 git checko ...

  7. Git学习笔记(2)-Eclipse中Git插件使用

    目前我使用的Eclipse luna版本中已经集成了git插件,这里就不介绍如何安装Git插件了,不懂可以看其他的博客. 上篇笔记介绍了Git的基本指令,实际开发中我基本都使用eclipse插件进行代 ...

  8. 【Git】工作中99%能用到的git命令

    Git使用笔记 1.第一次使用github ============================================= 1)github注册账号 使用邮箱注册账号 先不要创建版本库 2 ...

  9. git工作中最常用的用法教程,不走命令行

    ·1.1 git的概述 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.  Git 是 Linus Torvalds 为了帮助管理 Lin ...

随机推荐

  1. Java nio Client端简单示例

    java nio是一种基于Channel.Selector.Buffer的技术,它是一种非阻塞的IO实现方式 以下Client端示例 public class ClientNio { public s ...

  2. (Pytorch)涉及的常见操作

    涉及一些pytorch的API内容在此进行整理 损失函数:Binary-Cross-Entropy loss criterion = nn.BCECriterion() 创建一个标准来度量目标和输出之 ...

  3. 码农会锁,synchronized 对象头结构(mark-word、Klass Pointer)、指针压缩、锁竞争,源码解毒、深度分析!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 感觉什么都不会,从哪开始呀! 这是最近我总能被问到的问题,也确实是.一个初入编程职场 ...

  4. 手撸ORM浅谈ORM框架之Delete篇

    快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...

  5. 设计模式 | 职责链模式(Chain of responsibility)

    定义: 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这个对象连城一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. 结构:(书中图,侵删) 一个抽象的处理者 若干 ...

  6. SP1772 Find The Determinant II

    题意 \(T\) 组数据,每组给定两个整数 \(n,k\),求 \(\det A\),其中 \(A\) 为一个 \(n\times n\) 的矩阵且 \(A_{i,j}=\gcd(i,j)^k\),对 ...

  7. 云服务器部署scrapyd爬虫

    Scrapyd部署爬虫项目 GitHub:https://github.com/scrapy/scrapyd API 文档:http://scrapyd.readthedocs.io/en/stabl ...

  8. 使用IDEA完成一个SpringBoot的demo

    打算开始做毕业设计了,写一些博客记录一下做毕业设计的过程. 前两天从老师那里拿了学长学姐做的非常简陋的代码,配置环境跑了一下,老师找我的时候说还剩下50%的工作,但感觉至少还有70%. 废话不多说,今 ...

  9. 双十一,就用turtle画个单身狗送给自己

    今年的双十一到了 但还有谁记得双十一是 单身狗的节日 单身狗的我是时候站出来 捍卫自己的权益了 单身是一种怎样的状态? 我们所有人都单身过,但也许只有很少的人真正体验过. 短视频内容完全是假的,全程是 ...

  10. python风格代码荟萃

    今天总结一下在python中常用的一些风格代码,这些可能大家都会用,但有时可能也会忘记,在这里总结,工大家参考~~~ 先点赞在看,养成习惯~~~ 标题遍历一个范围内的数字 for i in xrang ...