【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 :[远程标签]

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

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

相关推荐
小狮子安度因19 分钟前
边缘智能-大模型架构初探
linux·网络
晨春计22 分钟前
【git】
android·linux·git
weixin_4866811432 分钟前
C++系列-STL容器中统计算法count, count_if
开发语言·c++·算法
基德爆肝c语言32 分钟前
C++入门
开发语言·c++
Flying_Fish_roe35 分钟前
linux-软件包管理-包管理工具(RedHat/CentOS 系)
linux·运维·centos
Splashtop高性能远程控制软件37 分钟前
centos远程桌面连接windows
linux·windows·centos·远程控制·远程桌面
LN花开富贵38 分钟前
stm32g431rbt6芯片中VREF+是什么?在电路中怎么设计?
笔记·stm32·单片机·嵌入式硬件·学习
怀九日38 分钟前
C++(学习)2024.9.18
开发语言·c++·学习·面向对象·引用·
一道秘制的小菜39 分钟前
C++第七节课 运算符重载
服务器·开发语言·c++·学习·算法
qq21084629531 小时前
【stm32笔记】使用rtt-studio与stm32CubeMx联合创建项目
笔记·stm32·嵌入式硬件