Git基础命令记录

clear : 终端清屏
command + k : 终端清屏

添加配置

git config [--local | --global | --system] user.name 'Your name'
git config [--local | --global | --system] user.email 'Your email'

查看配置

git config --list [--local | --global | --system]

local: 只对某个本仓库有效
global: 对当前用户的所有仓库有效
system: 对本系统的所有登录用户有效

git status : 查看git工作目录与暂存区的当前状态
git add 文件名 : 将新添加某个文件到git的暂存区中
git add -u : 已经被git管理的 可以用-u来将修改的文件,提交到暂存区
注意:
git add -u : 将文件的修改、文件的删除,添加到暂存区
git add . : 将文件的修改,文件的新建,添加到暂存区
git add -A : 将文件的修改,文件的删除,文件的新建,添加到暂存区

git commit -m'提交信息描述' : 提交git中的改变
git commit -am'描述' : 将工作目录下的修改直接提交到git版本历史库中,不推荐
git commit --amend : 修改最新commit的message

修改老旧commit的message:
git rebase -i 需要修改的commit的父commitid,进入交互界面,只将需要修改的commit记录前的pick改为reword或r,保存退出
进入新交互界面,修改message,保存退出,完成。

把多个commit整理成一个:
git rebase -i 需要合并的最早的commit的父commitid
进入到交互界面,需要合并的最早的commit的记录前的pick不需要变,将需要合并的其他commit记录前的pick改为squash或者s,保存退出,
进入新交互界面,在This is a combination of 4 commits下面添加最新提交信息接口,保存退出,完成。

git rm 文件名 : 删除文件

git mv 文件名 文件新名 : 文件重命名

git log --all : 查看所有分支提交日志

git log --all --graph : 图像化 查看所有分支提交日志

git log : 查看当前分支提交日志

git log -n2 : 查看当前分支最近2次提交

git log --oneline : 查看当前分支简洁的提交日志

git log --oneline --all : 查看所有分支简洁的提交日志

git log -n2 --oneline : 查看当前分支最近2次简洁的提交日志

git log --oneline --all -n2 : 查看所有分支最近2次简洁的提交日志

git log --oneline --all -n3 --graph : 图像化 查看所有分支最近2次简洁的提交日志

git branch -v : 查看本地分支信息

git branch -av :

git checkout master : 切换分支到master

git checkout -b 分支名称 已经存在的分支名称 : 基于某个存在的分支创建分支

git checkout -b 分支名称 之前的某个分支的提交序号 : 基于之前的某个提交记录创建分支

git branch -d 分支名称 : 删除分支
如果报错:“error:The branch is not fully merged”,指这个分支不曾合入到其他任何分支。
在日常开发中,我们通常赋予有意义的分支名,Git判断本分支没和任何别的分支合并,意味着删除存在风险。
如果确认需要删除本分支,使用下面的命令即可:
git branch -D 分支名称 : 强制删除分支

cat 文件名称 : 查看文件的内容
git cat-file 文件hash值: 显示版本库对象的内容、类型及大小信息。
git cat-file -t 文件hash值 : 显示版本库对象的类型
git cat-file -s 文件hash值 : 显示版本库对象的大小
git cat-file -p 文件hash值 : 显示版本库对象的内容

分离头指针:
git checkout commitId 命令
会出现分离头指针的情况,这种情况下比较危险,因为这个时候你提交的代码没有和分支对应起来,当切换到其他分支的时候(比如master分支),容易丢失代码;
但是分离头指针也有它的应用场景,就是在自己做尝试或者测试的时候可以分离头指针,当尝试完毕没有用的时候可以随时丢弃,但是如果觉得尝试有用,那么可以新建一个分支,使用 git branch <新分支的名称> commitId

比较差异

git diff 分支名称 分支名称 : 比较两个分支的差异

git diff 分支名称 分支名称 -- 文件名称 : 比较两个分支某个文件的差异

git diff 分支commitid 分支commitid -- 文件名称 : 比较两个分支某个文件的差异

git diff commitid commitid :查看两次提交的差异

HEAD可以来指代commit:
git diff HEAD HEAD^(表示head的父亲) : 查看两次提交的差异 等同于 git diff HEAD HEAD~1

git diff HEAD HEAD^^(表示head的父亲的父亲) 等同于 git diff HEAD HEAD~2

git diff : 比较工作区和暂存区所含文件的差异

git diff -- 文件名称(可以多个文件名称,中间空格隔开) : 比较工作区和暂存区某个文件的差异

git diff --cached : 比较暂存区与HEAD内容的差异

取消更改

git reset HEAD : 让暂存区恢复成和HEAD的一样

git reset HEAD -- 文件名称(可以多个文件名称,中间空格隔开) : 取消暂存区部分文件的更改

git reset --hard : 清除暂存区与工作目录下的修改

git reset --hard commitid : 工作区、暂存区 、HEAD都回退到commitid提交的状态

git reset commitid : 暂存区 、HEAD都回退到commitid提交的状态 ,工作区不变

git reset --soft commitid : HEAD都回退到commitid提交的状态,暂存区、工作区不变

git checkout -- 文件名 : 让工作区的文件恢复为和暂存区一样

开发中临时加塞了紧急任务怎么处理? 使用存储功能

git stash : 将工作区的修改存储起来,还原成为修改之前的状态

git stash list : 查看存储列表

git stash apply : 应用存储的代码,恢复到工作区,stash区域中的存储不会被删除

git stash pop : 应用存储的代码,恢复到工作区,stash区域中的存储会被删除

stash区域多个stash的情况:
如stash@{2} 和 stash@{1},序号中数字大的代表的是较早的stash。
git stash pop = git stash pop stash@{0}
git stash pop stash@{2}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容

  • 简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 与常用的版本控制工具 ...
    闽越布衣阅读 2,745评论 0 18
  • Git 记录 本文是根据 凯子哥 的掘金小册:Git 原理详解及使用指南,记录下的一些笔记,希望不会造成版权上的问...
    chendroid阅读 354评论 0 1
  • git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...
    神刀阅读 3,773评论 0 10
  • 一、基本概念: 注:对于git的分布式概念及其优点,不重复说明,自己百度或谷歌。本文中涉及到指令前面有$的,在cm...
    大厂offer阅读 1,425评论 0 3
  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 2,383评论 0 1