Git操作命令总结

背景

这两天学习了git相关操作,记录下常见的操作命令。

基本理论

git本地有三个工作区:工作目录(Working Directory)、暂存区(stage\index)、资源区(Repository)或Git Directory

操作流程

目录结构

版本库:/.git隐藏文件夹

工作区:/.git所在的目录

暂存区:/.git/index 保存临时修改文件的地方

用户配置文件 :gitconfig

文件地址:.gitconfig

常见命令

通用指令

查看配置:查看配置git config -l

查看当前用户配置git config --global --list

修改用户配置

查看文件状态:git status [filename]

查看操作日志: git log

提示的文字在commit时书写

切换指定版本: git reset

git reset--hard 995e0688f2554e1e557d86f82de3e5c92db817c8 ,可以切换到指定版本的文件

分类

本地仓库操作

设置本地git仓库:git init

添加到暂存区: git add

可以看到add后文件的颜色由红变绿

取消暂存: git reset

add的逆操作,取消存入暂存区

提交:git commit

-m 以及后面的文字为此次更新的注释说明

本地流程总结

新建文件(红色)->add 文件(绿色)-> commit 文件(白色)

远程仓库操作

设置远程仓库:git clone

设置远程git仓库: git clone git@gitee.com:gitee-enterprise_2_0/hellogit.git

查看远程仓库:git remote -v

添加远程仓库:git remote add

可观察添加前后远程仓库数量(0->2)

推送到远程仓库:git pull origin master

推送到远程流程:新建文件->添加到缓存区(add)->提交(commit,可写备注)->推送远程仓库(pull)

合并冲突:pull后加上参数 --allow-unrelated-histories

分支相关操作

查看分支: git branch

参数说明:

不写,本地分支

-r远程分支

-a 所有分支(远程+本地)

创建分支: git branch [name]

切换分支:git checkout [name]

推送分支至远程仓库:git push [shortName] [name]

注意与上文的区别:git pull origin master

推送谁,最后一个参数就写谁,上文默认是主线master,这是分支b1

合并分支: git merge [name]

合并前切换到主线,在主线master合并分支b1

分支合并冲突处理 : commit后加 -i

注意与上文区别:--allow-unrelated-histories

上文是在一条分支内处理,横向的

这是处理两条分支冲突,纵向的

标签相关操作

显示标签:git tag

创建标签: git tag [name]

将标签推送至远程仓库:git push [shortName][name]

检出标签:git checkout -b [branch][name]

标签相关操作与分支基本相同

分支可看作日常协调工作,时不时会改

标签是较为稳定的一个版本,类似 v1.0,v2.0 作为一个发布版本

补充:基本的Linux的命令

pwd:显示当前所在的目录路径

ls(ll):都是列出当前目录的所有文件,之不多ll列出的内容更加详细

touch:创建一个文件,如touch index.js 就会在当前文件下创建一个文件

rm:删除一个文件

mkdir:新建一个目录,就是新建一个文件夹

rm-r:删除一个文件夹,rm -r src删除src目录

mv:移动文件 mv index.html src,index为要移动的文件,src为目标文件夹

reset:重新初始化屏幕

clear:清屏

history:查看历史命令

help:帮助

#表示注释

相关推荐
易安说AI31 分钟前
Claude Opus 4.6 凌晨发布,我体验了一整晚,说说真实感受。
后端
易安说AI33 分钟前
Ralph Loop 让Claude无止尽干活的牛马...
前端·后端
易安说AI36 分钟前
用 Claude Code 远程分析生产日志,追踪 Claude Max 账户被封原因
后端
颜酱2 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
Coder_Boy_4 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
掘金者阿豪5 小时前
关系数据库迁移的“暗礁”:金仓数据库如何规避数据完整性与一致性风险
后端
ServBay5 小时前
一个下午,一台电脑,终结你 90% 的 Symfony 重复劳动
后端·php·symfony
sino爱学习6 小时前
高性能线程池实践:Dubbo EagerThreadPool 设计与应用
java·后端
颜酱6 小时前
从二叉树到衍生结构:5种高频树结构原理+解析
javascript·后端·算法
掘金者阿豪6 小时前
UUID的隐形成本:一个让数据库“慢下来”的陷阱
后端