配置化命令

git config --global user.name "Your Name"
git config --global user.email "email@example.com"
git config --global alias.ll "log --graph --pretty=format:'%C(yellow)%h%Creset -%C(cyan)%d%Creset %s %Cgreen(%an, %cr)' --abbrev-commit"
git config --global alias.a '!git add -A && git commit -m'

配置全局.gitignore

# 这里最好写绝对路径 有时候可能不生效
git config --global core.excludesfile D:/project/.gitignore # .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
# 解决方法就是先把本地缓存删除(改变成未track状态),然后再提交: git rm -r --cached .
git add .

查看类命令

# 查看
git log --graph --pretty=format:'%C(yellow)%h%Creset -%C(cyan)%d%Creset %s %Cgreen(%an, %cr)' --abbrev-commit
# 查看 xxx提交的内容
git show <commit-id>
# 查看引用记录
git reflog
# 查看文件差异
git diff filename # 一次diff出全部modify的文件内容 也可以自行重定向到某个文件中
git status | awk -F "modified:" '{if($2 != "") print $2}' | xargs git diff

撤销类命令

# 撤销掉add的文件(如果是新文件则是untracked状态 否则是modify状态)
git restore --staged test.txt # 如果commit了 发现某个文件不对那么可以对单个文件再修改再次commit,
# 然后rebase <commit-id>之后的commit(不包括<commit-id>) git rebase -i <commit-id>
# 撤销 add commit modify(把commit 记录全删掉 慎用)
git reset --hard <commit-id>
# 撤销add、commit (把commit 记录变成modify之后)
git reset --mixed <commit-id>
# 仅撤销commit (把commit 记录变成add之后)
git reset --soft <commit-id> # 撤销一次提交内容
git revert <commit-id>

创建或删除相关命令

# 本地仓库关联到远程仓库
git remote add origin git@github.com:whalefall541/rebase-learn.git
# 删除关联
git remote rm origin # 删除远程 分支
git push origin -d <branch-name> # 创建本地 分支
git branch <branch-name>
# 创建并切换
git chekcout -b <branch-name>
# 删除本地 分支
git branch -D <branch-name>

合并类命令

# 关闭自动合并
git merge --no-ff -m "merge with no-ff" dev # 自动变基 在当前分支重放另一个分支
git rebase [<branch-name> | <commit-id> | <HEAD~n>] # 交互式变基
git rebase -i <commit-id>
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
# commit's log message, unless -C is used, in which case
# keep only this commit's message; -c is same as -C but
# opens the editor # 拉取代码时变基 fetch and rebase
git pull -r origin main # 指定远程分支变基
git rebase origin/main # 从其他分支复制某个提交到另一个分支
git cherry-pick <commit-id>

暂存内容命令

git stash
git stash list
git pop

如何暂存部分文件呢 stash part

提交相关命令

git add .
git commit -m "your description"
git push -u origin main

标签类命令

# 在当前分支当前提交上打标签:
git tag v1.0 #如果想要打标签在某个指定历史commit上:
git tag v0.9 f52c633 # 可以通过如下命令查看一个tag信息:
git show v0.1 # 如果标签打错了,也可以删除:
git tag -d v0.1 # 如果要推送某个标签到远程,使用命令git push origin <tagname>
git push origin v1.0
# 或者,一次性推送全部尚未推送到远程的本地标签:
git push origin --tags
# 如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
git tag -d v0.9
# 然后,从远程删除。删除命令也是push,但是格式如下:
git push origin :refs/tags/v0.9

如何同步github fork仓库

# Syncing a fork from the command line
git fetch upstream
git checkout main
git merge upstream/main # Merging an upstream repository into your fork
git checkout <DEFAULT_BRANCH_NAME>
git pull https://github.com/spring-projects/spring-framework.git <DEFAULT_BRANCH_NAME>``` ***欢迎关注微信公众号哦~ ~ 转载请注明出处*** ![](https://img2020.cnblogs.com/blog/2023890/202007/2023890-20200721222259780-783079620.jpg)

史上最全git命令集的更多相关文章

  1. 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集

    你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931   GitHub 上有一个 Awesome - XXX 系列 ...

  2. [No00004F]史上最全Vim快捷键键位图(入门到进阶)vim常用命令总结

    在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format.使 ...

  3. nacos 实战(史上最全)

    文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...

  4. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  5. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http: ...

  6. 史上最全的maven pom.xml文件教程详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  7. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

  8. 吐血总结|史上最全的MySQL学习资料!!

    在日常工作与学习中,无论是开发.运维.还是测试,对于数据库的学习是不可避免的,同时也是日常工作的必备技术之一.在互联网公司,开源产品线比较多,互联网企业所用的数据库占比较重的还是MySQL. 在刚刚出 ...

  9. 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结

    本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言   MySQL作为开源技术的代表作之一,是 ...

随机推荐

  1. Fast Run:提高 MegEngine 模型推理性能的神奇功能

    作者:王博文 | 旷视 MegEngine 架构师 一.背景 对于深度学习框架来说,网络的训练/推理时间是用户非常看中的.在实际生产条件下,用户设计的 NN 网络是千差万别,即使是同一类数学计算,参数 ...

  2. 比@EnableMongoAuditing功能强大的实现

    问题出现 以前通过@EnableMongoAuditing.@CreateDate.@LastModifiedDate进行实体类创建时间.修改时间的自动管理. 但为了实现多数据源的管理以及切换,自己覆 ...

  3. 五、从GitHub浏览Prism示例代码的方式入门WPF下的Prism之MVVM中的EventAggregator

    这一篇我们主要再看完示例12.13后,写了个例子,用于再Modules下执行ApplicationCommands,使用IActiveAware执行当前View的Commands,或者Applicat ...

  4. vim的代码缩进

    例如下面一段代码: 现在要统一缩进6个tab,在UltraEdit里首先要选中文本,然后按6次tab,VIM中的操作是:首先按V(shift+v)进入行visual模式,然后按7次j选中这段文本(或者 ...

  5. MySQL学习02(操作数据库)

    操作数据库 结构化查询语句分类 名称 解释 命令 DDL(数据库定义语言) 定义和管理数据对象,例如数据库和数据表 create.drop.alter DML(数据操作语言) 用于操作数据库对象中所包 ...

  6. Dubbo系列讲解之服务注册【3万字长文分享】 23/100 发布文章

    服务注册的几个步骤   对于RPC框架的服务注册,一般包含了如下的流程: 加载服务提供者,可能是通过xml配置的,也可能是通过扫描注解的 实例化服务提供者,并以服务接口作为key,实现类作为value ...

  7. 说说XXE漏洞那些事

    想不起来写点啥了,又是摸鱼的一天,看了一些红队大佬们整理的资料,非常精彩,于是一个咸鱼翻身先选了一些简单的小点来写一写个人的感想(后续会继续更新其他内容) 不能说写的是技术分享,因为师傅们的文章珠玉在 ...

  8. MATLAB—二维函数可视化

    本文主要总结一下MATLAB的一些常用二维绘图指令. 文章目录 一.plot绘图指令 1.离散数据点形设置值 2.连续线型设置值 3.颜色设置值 4.常用属性和属性值 5.例题 二.subplot绘图 ...

  9. JavaWeb学习笔记(五)

    本文内容 1. JSP: 1. 指令 2. 注释 3. 内置对象 2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构 JSP: 1. 指令 * 作用:用于配置JSP页面,导入资 ...

  10. 腾讯云TDSQL MySQL版 - 开发指南 分布式事务

    由于事务操作的数据通常跨多个物理节点,在分布式数据库中,类似方案即称为分布式事务. TDSQL MySQL版 支持普通分布式事务协议和 XA 分布式事务协议.TDSQL MySQL版(内核5.7或以上 ...