其他参考 http://www.softwhy.com/article-8498-1.html

本地模拟多用户来学习 参考   其实就是克隆两个目录,两个目录的git config 不同的名字和邮箱,

$ git config --local user.name  Alice

$ git config --local user.email  Alice@git.com

本地有: 工作区, 缓存区,本地仓库(多个分支)  远程有:远程仓库(多个分支)

git init   初始化git仓库

git add <file>  添加文件到缓存区   , add 的时候,不会有任何反应.

git commit -m "备注"   提交到当前仓库

git commit -am “备注”  -a参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库    ,注意,新加的文件 无法提交。还是得手动add

git commit --amend   –-no-edit     修改代码后,提交。 原来的commit id 没有了,变成新的commit id 。   参考这里  和 这里   不加--no-edit不会弹出vim编辑器让你修提交备注,

git push --no-thin origin HEAD:refs/for/master       如果上面的 commit --amend之前的版本已经push了, 那么就需要用 这个来push到远端。 参考

git status 查看状态            changes not staged for commit  有修改

git  diff filename      查看文件修改了哪里 . 这个文件应该是修改后 没有add到缓存区的文件即: 文件状态为已修改

git log 历史提交日志     git log --pretty=oneline  一行内显示

git branch -a 显示所有分支

git branch  显示本地分支

git branch -r 显示远程分支

git remote -v 显示远程仓库

git branch -m dev  newdev  分支改名

git checkout -b  dev origin/dev  建立dev分支,切到dev分支并和远程dev分支绑定

回撤:

git命令——revert、reset

git reset --hard HEAD^  回退到上一个已经commit的版本

git reset --hard 1094a   回退到指定commit id -  即版本号

git checkout -- file         丢弃工作区的修改

git reset HEAD <file>    把提交到暂存区的撤回到工作区

如果回撤后,又要到未来,需要知道明确的版本号,如何知道版本号?==>  git reflog 记录每一次的命令,可见, 上一次的commit是1094a(不用输完整的)

  1. $ git reflog
  2. e475afc HEAD@{1}: reset: moving to HEAD^
  3. 1094adb (HEAD -> master) HEAD@{2}: commit: append GPL
  4. e475afc HEAD@{3}: commit: add distributed
  5. eaadf4e HEAD@{4}: commit (initial): wrote a readme file 

关于参数有三个 https://blog.csdn.net/qq_15003505/article/details/81408826

--hard         移动本地库HEAD指针,且重置暂存区,且重置工作区  撤回commit  撤回add  并把你删除或者新增的文件也回撤了.即,回撤到上一次commit时的初始环境

--mixed       移动本地库HEAD指针,且重置暂存区  (不写参数默认)   撤回commit  并撤回add

--soft        移动本地库HEAD指针    撤回commit

add以后又想恢复(从缓存区移除):  git checkout -- 文件名      两个杠可以省略不写。但最好还是写一下,申明是文件的checkout, 否则如果有个分支和文件名相同,优先认为是分支。

恢复到指定的commit的某个历史版本:  1.  git log --oneline   显示所有提交版本  找到commit id    2. git checkout   那个找到的commitid  --  文件名 

某文件恢复到master的版本: git checkout master  -- 文件名

已经add还未commit  , 先 git reset HEAD 文件名     再git checkout --文件名

已经add且commit ,git reset --hard HEAD^

去除git mergetool不产生*.orig文件

git config --global mergetool.keepBackup false

或者直接进入系统用户目录下,修改.gitconfig文件,增加如下内容:

  1. [mergetool]

  2. prompt = true

  3. keepBackup = false

git 廖雪峰博客笔记的更多相关文章

  1. python 3 廖雪峰博客笔记(三) 命令行模式与交互模式

    python 的代码一般保存为 .py结尾的文本文件格式 比如 add.py 里写下如下内容 100 + 200 执行 add.py有两种方式: 1. 命令行方式:将python代码写入脚本中执行 p ...

  2. python 3 廖雪峰博客笔记(二) python解释器

    python 解释器用于理解 python代码,存在多种python解释器 CPython 官方版本python解释器,用C语言开发,使用最广泛 IPython 基于CPython,在交互方式上有所增 ...

  3. python 3 廖雪峰博客笔记(一) python特性

    python 是一种解释性语言,代码在执行时会一行一行翻译成CPU能理解的机器语言. python 的特点是简单优雅. python 的优点是 代码优雅 基础代码库丰富,包括网络.文件.GUI.数据库 ...

  4. git入门笔记汇总——(廖雪峰博客git入门)

    本文内容是对廖雪峰老师Git教程做的笔记,外加一些自己的学习心得,还抱着学以致用的心态来实践一番 如有显示错误 请移步本人github:git教程小结 Git学习笔记 Git简介 安装Git 创建版本 ...

  5. step2: 爬取廖雪峰博客

    #https://zhuanlan.zhihu.com/p/26342933 #https://zhuanlan.zhihu.com/p/26833760 scrapy startproject li ...

  6. python的MetaClass的代码分析。基于廖雪峰博客代码

    # 一张表一个类,表内每一行就是一个实例 ''' 一个单独的元类使用的程序分析. ''' class Field(object): def __init__(self, name, column_ty ...

  7. python 1 学习廖雪峰博客

    输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print('hello, world') p ...

  8. Typora+PicGo+阿里云写博客笔记

    Typora+PicGo+阿里云写博客笔记 选择这三个工具的理由 我一直有在使用typora使用mardown写作,毕竟typora很香,可以实时预览,非常丝滑. 配合上PicGo这个图床工具简直绝了 ...

  9. 使用github+hexo搭建博客笔记

    听说github上可以搭博客,而且不用自己提供空间和维护,哈哈哈 作为一名程序猿,github搭博客对我有种神奇的吸引力,赶紧动手试一试 关于如何使用hexo搭建博客网上好的教程多如牛毛,而且这篇博客 ...

随机推荐

  1. AVR单片机教程——闪烁LED

    上次我们把LED点亮了.你可能已经试过把 LED_RED 换成其他灯,也可能已经用 led_on() 把所有LED一起点亮了.但是LED点亮以后,程序就退出了,之后LED一直没有暗,直到没有供电.这一 ...

  2. go io.Reader 接口

    io 包指定了 io.Reader 接口, 它表示从数据流结尾读取. Go 标准库包含了这个接口的许多实现, 包括文件.网络连接.压缩.加密等等. io.Reader 接口有一个 Read 方法: f ...

  3. SQL Server2008数据库报错与解决方法

    一. 报错信息 启动MSSQLSERVER时有以下报错信息 打开SQL SERVER配置管理器,发现以下情况报错: 原因:由于先前安装了2005版VS,然后又安装了2015版VS 解决办法:卸载Loc ...

  4. RabbitMQ 应用一

    (百度百科)MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的 ...

  5. C# 求余 int a = 371 / 100 % 10,求a的结果为多少?//nt 和int类型计算得到的结果还是int类型

    //int 和int类型计算得到的结果还是int类型 eg:int a = 371 / 100 % 10,求a的结果为多少? 首先371除以100,再让此结果除以10求余数. 一 371除以100得到 ...

  6. iOS音频学习笔记一:常见音频封装格式及编码格式

    (1) pcm格式    pcm是经过话筒录音后直接得到的未经压缩的数据流    数据大小=采样频率*采样位数*声道*秒数/8     采样频率一般是22k或者44k,位数一般是8位或者16位,声道一 ...

  7. 从SAP社区上的一篇博客开始,聊聊SAP产品命名背后的那份情怀

    最近Jerry在SAP社区上看到一篇博客:It's Steampunk now. 博客原文:https://blogs.sap.com/2019/08/20/its-steampunk-now/ 什么 ...

  8. 4.JUC之AQS框架

    一.简介 1.AQS AQS是AbstractQueuedSynchronizer的简写,直白的翻译:抽象队列同步器,jdk1.5后出现 Provides a framework for implem ...

  9. Flutter中的按钮组件介绍

    Flutter 里有很多的 Button 组件很多,常见的按钮组件有:RaisedButton.FlatButton.IconButton.OutlineButton.ButtonBar.Floati ...

  10. WebClient 与HttpClient 的区别

    需要搜索下资料. -------------------------------------------------- 微软文档介绍,新的开发中推荐使用:HttpClient WebClient 文档 ...