当前位置: 首页 > news >正文

Git操作备忘与原理记录

Git 是分布式版本控制系统,核心用于代码版本管理、回溯及多人协作。本文作为个人备忘,聚焦核心操作的原理与关键命令,精简实用,方便快速查阅。

前置准备:安装Git后,终端输入 git --version 显示版本号即安装成功(Windows用Git Bash,Mac/Linux用终端)。

一、基础配置:身份与认证(必做)

原理:Git无统一“登陆”概念,配置本地身份用于标识提交者,绑定远程认证用于本地与远程仓库同步,未配置会导致提交/推送失败。

1. 本地用户名/邮箱配置(身份标识)

提交记录会关联该信息,建议与远程仓库账户一致,分全局(所有仓库)和局部(单个仓库)配置。

# 全局配置(推荐新手)
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"# 局部配置(多账户场景,需先进入仓库目录)
git config user.name "你的用户名"
git config user.email "你的邮箱"# 验证配置
git config --list

2. 远程仓库认证(密码/Token/SSH)

原理:远程仓库(GitHub/Gitee)需身份认证,确认操作权限,密码认证已基本废弃,优先Token,频繁操作推荐SSH。

  • Token认证:远程仓库个人设置生成Token(勾选repo权限),首次推送时,密码处粘贴Token即可。

  • SSH认证:生成密钥对,公钥配置到远程仓库,无需重复输入凭证。
    `# 生成密钥(替换邮箱)
    ssh-keygen -t rsa -b 4096 -C "你的邮箱"

验证(GitHub/Gitee分别执行)

ssh -T git@github.com
ssh -T git@gitee.com`

二、本地仓库:创建与删除(本地版本管理基础)

原理:本地仓库是Git版本管理的核心,本质是存储代码版本信息的目录(含隐藏.git文件夹,不可手动删除)。

1. 创建本地仓库(两种场景)

# 场景1:从零创建(新建项目)
mkdir 项目文件夹 && cd 项目文件夹
git init  # 初始化仓库,生成.git文件夹# 场景2:克隆远程仓库(已有远程项目)
git clone 远程仓库HTTPS/SSH地址  # 自动生成本地仓库,无需git init

2. 删除本地仓库

原理:删除仓库即删除对应文件夹(含.git),本地版本记录全部丢失,谨慎操作。

# 退出仓库目录,删除文件夹(Mac/Linux)
cd 上级目录 && rm -rf 仓库文件夹
# Windows(Git Bash)
cd 上级目录 && rd /s/q 仓库文件夹# 仅取消Git管理(保留项目文件)
cd 仓库目录 && rm -rf .git

三、远程关联:本地与远程同步桥梁

原理:通过关联远程仓库地址,实现本地代码推送(备份)和远程代码拉取(同步),origin是远程仓库默认别名。

# 1. 首次关联(进入本地仓库)
git remote add origin 远程仓库地址# 2. 核心辅助命令
git remote -v  # 验证关联(显示origin对应地址)
git remote set-url origin 新地址  # 修改远程地址
git remote rm origin  # 解除关联
git pull origin main  # 拉取远程main分支最新代码

四、分支操作:多任务并行开发

原理:分支相当于独立开发线,可在分支开发新功能/修Bug,不影响主分支稳定,开发完成后合并。

核心命令(备忘重点)

# 查看分支(*表示当前分支)
git branch  # 本地分支
git branch -a  # 本地+远程分支# 创建/切换/创建并切换分支
git branch 分支名
git switch 分支名(或git checkout 分支名)
git switch -c 分支名(或git checkout -b 分支名)# 合并分支(例:dev合并到main)
git switch main && git merge dev# 删除分支
git branch -d 分支名(已合并)
git branch -D 分支名(强制删除)# 远程分支操作
git push origin 分支名  # 推送本地分支到远程
git pull origin 分支名  # 拉取远程分支到本地

合并冲突解决

原理:两个分支修改同一文件同一部分,Git无法自动判断,需手动干预。

# 1. 合并提示冲突后,打开冲突文件,删除标记并修改内容
# 冲突标记:<<<<<<< HEAD(当前分支)、=======(分隔)、>>>>>>> 分支名(待合并)# 2. 标记解决并提交
git add 冲突文件名
git commit -m "fix: 合并冲突"

五、提交操作:本地与远程同步核心

原理:提交流程为「工作区→暂存区→本地仓库→远程仓库」,每一步均为版本记录的关键节点。

1. 本地提交(三步曲)

# 1. 查看文件状态(红色未暂存,绿色已暂存)
git status# 2. 工作区→暂存区
git add 单个文件  # 单个文件
git add -A  # 所有修改(推荐)# 3. 暂存区→本地仓库(提交说明必填)
git commit -m "提交说明"(例:feat: 新增功能,fix: 修复Bug)# 补充:补充最近一次提交(未推送远程)
git commit --amend -m "修改后的提交说明"

2. 远程提交(推送)

# 1. 优先拉取远程最新代码,避免冲突
git pull origin 分支名# 2. 推送本地分支到远程
git push -u origin 分支名  # 首次推送,绑定分支
git push origin 分支名  # 非首次推送

六、其他必备操作(备忘)

1. 版本回退(误操作救星)

原理:通过提交哈希值或简化命令,回溯到历史稳定版本,--hard会彻底删除回退后续修改。

# 查看提交历史(获取哈希值,前7位即可)
git log --oneline# 回退操作
git reset --hard 哈希值  # 回退到指定版本
git reset --hard HEAD^  # 回退到上一版本# 已推送远程,需强制推送(谨慎,会覆盖远程记录)
git push -f origin 分支名

2. 忽略文件(.gitignore)

原理:指定无需Git管理的文件/文件夹(如日志、编译产物),避免误提交。

# 新建.gitignore文件,添加忽略规则(示例)
node_modules/  # 文件夹
*.log  # 所有.log文件
.vscode/  # IDE配置文件夹
test.txt  # 单个文件# 提交.gitignore
git add .gitignore && git commit -m "docs: 添加忽略文件"

3. 暂存工作区(git stash)

原理:临时保存未完成的修改,方便切换分支处理紧急问题,后续可恢复。

git stash save "暂存描述"  # 暂存
git stash list  # 查看暂存记录
git stash pop  # 恢复最近暂存并删除记录
git stash clear  # 清空所有暂存

七、核心备忘总结

  1. 核心流程:本地配置→仓库操作(本地/远程)→分支开发→提交同步;

  2. 关键原则:未配置身份不可提交,推送前优先拉取,删除仓库/强制推送需谨慎;

  3. 备忘重点:核心命令无需死记,重点理解操作原理,按需查阅即可。

(注:文档部分内容可能由 AI 生成)

http://www.jsqmd.com/news/369929/

相关文章:

  • 2026年度术后蛋白粉产品推荐榜单:科学配比与临床价值双维度综合评估 - 十大品牌推荐
  • 国内有实力的立式远程射流机组厂商在哪?2026热门排行来了,恒温恒湿直膨式空调机组/间歇式动力模块,射流机组制造企业推荐 - 品牌推荐师
  • 核心系统国产化迁移:如何攻克 Oracle PL/SQL 兼容性“深水区”?
  • 分析南宁靠谱的门店引流渠道,高性价比的门店引流方法大盘点 - myqiye
  • 2026年山西新疆推荐尼龙由壬接头厂家,高性价比企业大盘点 - mypinpai
  • 2026.1.11
  • 2026年中式门窗供应商口碑排名,唐潮门窗经验积淀,客户认可 - 工业设备
  • 2026年医院门专业厂家推荐:山东森工门业防火/洁净/电动/树脂/金属医院门全系供应 - 品牌推荐官
  • 2026年汕头靠谱海鲜火锅店排名,新海逸以食材新鲜脱颖而出 - 工业品牌热点
  • CodeTest
  • 2026年度权威发布:术后蛋白粉产品实力榜单与科学选择深度解析 - 十大品牌推荐
  • 2026年汕头实惠海鲜火锅店排名,特色海鲜火锅店费用情况如何 - 工业推荐榜
  • 2026净水设备市场风向标:品质之选,健康之选,不锈钢复合水箱/高层集中供水设备/BDF复合水箱,净水设备工厂推荐 - 品牌推荐师
  • 互联网政务如何利用CKEditor实现微信公众号公式Word导入?
  • 2026 最新肉类零食品牌/厂家 TOP5 评测!全场景适配 + 品质实证权威榜单发布,重塑休闲零食消费新体验 - 品牌推荐2026
  • 2026年知名的顺义区护老保姆家政公司采购参考榜单 - 品牌鉴赏师
  • 2026年木里木外权威解析:智能高定如何重塑高端家居体验 - 十大品牌推荐
  • 2026年糕点培训权威推荐:济宁市美开乐职业培训学校,蛋糕裱花/西点烘焙/中式糕点培训全覆盖 - 品牌推荐官
  • 汽车制造企业如何用CKEditor实现CAD图纸公式Word转存?
  • 续传大文件在JAVA网页中怎么操作?
  • 揭秘盒马鲜生购物卡回收最划算的方法! - 团团收购物卡回收
  • 盒马鲜生购物卡高价回收,让你的卡秒变现金! - 团团收购物卡回收
  • Allonic颠覆机器人制造:不用组装,用“编织”造出类人肢体
  • 2026最新卤猪蹄品牌TOP5评测!露营/追剧/下午茶全场景适配权威榜单发布,胶原满满解馋首选 - 品牌推荐2026
  • 2026年拆包机械推荐:潍坊一卓重工科技固废/面粉/尿素/粉体自动拆包机全系供应 - 品牌推荐官
  • 2026年比较好的北京整洁住家保姆公司优质供应商推荐清单 - 品牌鉴赏师
  • 美客多选品用什么工具?美客多爆款产品有哪些?一文全解析!
  • 机器人租售阵列齐不齐?专人同步触发
  • 跨平台环境下,JAVA如何处理大文件上传?
  • 读《梦断代码》有感