【Git】常见命令(仅笔记)

文章目录

创建/初始化本地仓库

sh 复制代码
git init

添加本地仓库配置项

sh 复制代码
git config -l #以列表形式显示配置项

git config user.name "ljh" #配置user.name
git config user.email "123123@qq.com" #配置user.email

git config --unset user.name #重置user.name
git config --unset user.email #重置user.email

git config --global user.name "ljh" #设置当前机器上所有的本地仓库配置
git config --global --unset user.name #gloal设置的也需要带gloal删除

git config [可加--global] alias.[别名] '本名'
#例:git config [--global] alias.st 'status'
git status = git st

提交文件

sh 复制代码
git add [file] #将工作区的文件提交到暂存区
git add -f [file] #强制添加

git commit -m "描述" #将暂存区文件提交到版本库

查看仓库状态

sh 复制代码
git status #显示工作区和暂存区修改的文件

git diff [file] #查看工作区和暂存区 file 文件的区别

回退仓库

sh 复制代码
# 默认为 mixed
git reset --soft [commitID] [filename] #只回退版本库
git reset --mixed [commitID] [filename] #回退版本库和暂存区
git reset --hard [commitID] [filename] #都回退,版本库、暂存区、工作区 

git reset --mixed HEAD #HEAD表示版本库当前版本,HEAD^为上版本,HEAD^^为上上版本
#centenOS:可能因为mixed是默认方式,所以不用--mixed,直接-- 即可

git checkout -- [filename] #撤销,修改工作区,让工作区和暂存区一致?

查看日志

sh 复制代码
git log #查看日志
git log [file] #只查看指定文件的日志
git log --prettey=oneline #以列形式显示日志,好像是Ubentu的指令
git log -p #有格式的显示日志
git log --graph --abbrev-commit #图形化的显示日志
git log -n #显示前n行日志

git reflog #本地所有操作的日志

git cat-file -p [commitID] #查看objects对象

分支

shell 复制代码
git branch #查看所有分支,带*的是当前工作分支
git branch [name] #新建分支
git branch -d [name] #删除分支,只能删除其他分支,不能删除当前工作分支
git branch -D [分支] #强制删除分支

git branch -r #查看远程仓库的分支
git branch -a #本地和远程的分支都查看

git branch -v #查看本地分支信息
git branch -vv #查看本地和远程的分支连接

git branch --set-upstream-to=[远程分支] [本地分支] #建立连接

git remote show origin #查看remote地址,远程分支,还有和本地分支的对应信息等
git remote prune origin #删除远程仓库已删除的分支

git checkout [分支名] #切换分支
git checkout -b [分支名] #创建并切换分支
git checkout -b [分支名] [远程分支,例 origin/dev] #创建并切换,并建立连接

git merge [分支] #合并分支到当前工作分支
git merge --no-ff [分支] #非Fast Work模式,在git log中可以看到不同分支
git merge --no-ff -m "描述" [分支] 

删除文件

shell 复制代码
git rm [file] #删除并提交

暂存工作区代码

shell 复制代码
git stash #暂存工作区新代码
git stash list #查看都存了什么
git stash pop #将暂存的代码拿出来,恢复现场,但会删除stash中内容
git stash apply #恢复现场,但是不删除stash内容
git stash apply stash@{0} #恢复指定内容(现场)

远程仓库

shell 复制代码
git clone [链接] #克隆远程仓库

git push #将本地仓库的东西推送给远程仓库
git push [远程仓库名] [本地分支]:[远程分支]
git push [远程仓库] [分支] #若本地分支和远程分支,则只需写一个

git pull [远程仓库] [远程分支]:[本地分支] #将远程仓库新的东西拉取

git remote #查看远程仓库名称
git remove -v #显示本地仓库权限,fetch和push之类的

使用 .gitigore 文件让 git 不追踪一些文件

.gitignore文件

sh 复制代码
*.so #不追踪所有 .so结尾的文件

!b.so #不忽略 b.so
shell 复制代码
git check-ignore -v [文件] #查看该文件为何被忽略
git add -f [文件名] #强制添加文件

标签

shell 复制代码
git tag #查看有哪些标签
git tag [标签名,例v1.0] #给最近的 commit 打标签
git tag [标签名] [commit ID] #给指定的 commit 打标签
git tag -a [标签名] -m "描述" [commit ID] #打标签同时添加描述

git tag -d [标签名] #删除标签

git show [标签名] #显示标签详细信息

git push [仓库名,例:origin] [本地标签]:[远程标签]
git push [仓库名] --tags #将所有标签提交
# 删除远程分支的方式
# 先删除本地,再push
git tag -d [标签]
git push origin :[远程标签]

以上就是本篇博客的所有内容,感谢你的阅读

如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。

相关推荐
飞翔中文网14 分钟前
Java学习笔记之抽象类与接口(设计思想)
java·笔记·学习
日取其半万世不竭1 小时前
iftop、nethogs 和 nload:Linux 服务器网络流量实时监控工具介绍
linux·运维·服务器
智者知已应修善业1 小时前
【proteus设计文氏正弦波信号发生器】2023-5-9
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
mounter6251 小时前
Linux 内核资源管理:控制组(cgroup)的演进与“策略组”新提案
linux·运维·服务器·cgroup·kernel
bksczm1 小时前
文件在磁盘中的存储方式
linux·运维·服务器
L1624761 小时前
OpenSSH 半自动升级方案(独立编译 + 手动迁移 + 重建 systemd 服务)
linux·服务器·ssh
半旧夜夏1 小时前
【保姆级】微服务组件环境搭建(Docker Compose版)
java·linux·spring cloud·微服务·云原生·容器
爱莉希雅&&&2 小时前
zabbix快速搭建和使用
android·linux·数据库·zabbix·监控
凉、介2 小时前
深入理解 ARMv8-A|处理器模式与寄存器
笔记·学习·嵌入式·arm
z200509302 小时前
【linux学习】深入理解linux文件I/O,从C标准库到内核态
linux·学习·操作系统