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

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

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

相关推荐
hmbbcsm7 小时前
关于transformors库的学习笔记
笔记·学习
xqqxqxxq7 小时前
Java AI智能P图工具技术笔记
java·人工智能·笔记
顾温7 小时前
default——C#/C++
java·c++·c#
FakeOccupational7 小时前
【电路笔记 PCB】Altium Designer : AD20信号完整性(Signal Integrity)分析+单线路传输分析+串扰分析(暂记)
笔记
凉茶钱8 小时前
【c语言】动态内存管理:malloc,calloc,realloc,柔性数组
c语言·c++·vscode·柔性数组
脏脏a8 小时前
【C++模版】泛型编程:代码复用的终极利器
开发语言·c++·c++模版
island13148 小时前
【C++仿Muduo库#3】Server 服务器模块实现上
服务器·开发语言·c++
散峰而望8 小时前
【算法竞赛】C/C++ 的输入输出你真的玩会了吗?
c语言·开发语言·数据结构·c++·算法·github
小龙报8 小时前
【C语言】内存里的 “数字变形记”:整数三码、大小端与浮点数存储真相
c语言·开发语言·c++·创业创新·学习方法·visual studio
刃神太酷啦8 小时前
扒透 STL 底层!map/set 如何封装红黑树?迭代器逻辑 + 键值限制全手撕----《Hello C++ Wrold!》(23)--(C/C++)
java·c语言·javascript·数据结构·c++·算法·leetcode