配置化命令

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. 用 5W1H 告诉你如何规划合理的测试策略

    ​​摘要:测试策略描述了测试工程的总体方法和目标.描述目前在进行哪一阶段的测试以及每个阶段内在进行的测试种类(功能测试.性能测试.覆盖测试等)以及测试人力安排等. 本文分享自华为云社区<浅谈敏捷 ...

  2. GoogleTest死亡测试的跨平台BUG

    最近工作用到了GoogleTest来作单元测试,但是死亡测试的ASSERT_DEATH语句一直跑不通. GoogleTest会启动子进程来运行代码,并捕捉子进程的错误消息,这就是所谓的"死亡 ...

  3. nfs配置项在/etc/exports中的说明

    rw 可读写的权限 ro 只读的权限no_root_squash 登入NFS主机,使用该共享目录时相当于该目录的拥有者,如果是root的话,那么对于这个共享的目录来说,他就具有root的权       ...

  4. RHCE_DAY01

    shell概述 shell是一个程序,它连接了用户和Linux内核,它可以解释用户输入的命令传递给内核,让用户可以更加方便的使用Linux系统 shell 本身并不是内核的一部分,它只是站在内核的基础 ...

  5. Windows协议 NTLM篇

    NTLM 基础 介绍 LM Hash & NTLM Hash Windows本身是不会存储明文密码的,只保存密码的hash 其中本机用户的密码hash是放在本地的SAM文件里面,域内用户的密码 ...

  6. Run Shell Commands in Python

    subprocess.call This is the recommended way to run shell commands in Python compared with old-fashio ...

  7. 卓越的教练是如何训练高手的?(谈谈memmove)

    编者按:我们知道,优秀的运动员除了自身的天赋和努力之外,出色的教练必不可少.一个成功的企业除了拥有出类拔萃的员工之外,同样需要一位出色的教练,那就是企业的CEO.由此可见,如果我们要想成为一位优秀的程 ...

  8. 了解cookie和storage的区别及优缺点

    共同点:用于数据的存储. 区别: 1.是否需要添加到http请求头? HTTP Cookie(cookie):在客户端存储会话信息,要求服务器对任意HTTP请求发送set-cookie HTTP头作为 ...

  9. kali虚拟机安装VMTools、更新源、安装docker、配置sqli-labs

    一.安装VMTools: 传送门:关于安装VMTools 跟其他版本的虚拟机安装VMTools没什么区别,也得连网(我是kali用dhcp开nat模式) 之后按照上面的链接根据博主的步骤一步一步来即可 ...

  10. docker安装完权限问题

    在用户权限下docker 命令需要 sudo 否则出现以下问题 通过将用户添加到docker用户组可以将sudo去掉,命令如下 sudo groupadd docker #添加docker用户组 su ...