当前位置:首页 > 技术分析 > 正文内容

Git常用指令

ruisui884个月前 (03-08)技术分析24

Git 常用指令大全:从入门到高效开发,掌握这些命令就够了!

—— 无论是新手还是老手,这份清单都能让你告别版本控制焦虑!

为什么你需要这篇指南?

Git 是程序员协作开发的“命脉”,但面对海量指令,你是否常陷入“该用哪个命令?”的困惑?

本文提炼 10+高频场景,覆盖 90%日常开发需求,帮你快速定位指令,节省翻文档的时间!

一、新手必学:基础操作指令

1. 初始化仓库

git init # 将当前文件夹变为Git仓库

git clone # 下载远程仓库到本地(如:git clone
https://github.com/user/repo.git)

2. 提交代码

git add . # 添加所有修改到暂存区

git add # 添加指定文件

git commit -m "提交说明" # 提交到本地仓库(说明要清晰!)

3. 查看状态与历史

git status # 查看工作区/暂存区状态

git log # 查看提交历史(按q退出)

git log --oneline # 简洁版历史


二、团队协作:远程仓库与分支管理

1. 连接远程仓库

git remote add origin # 关联远程仓库(首次使用)

git push -u origin main # 推送代码并绑定默认分支(-u后续可简写git push)

git pull # 拉取远程最新代码(等同于 git fetch + git merge)

2. 分支操作

git branch # 查看本地分支

git branch <分支名> # 创建新分支

git checkout <分支名> # 切换分支

git checkout -b <新分支名> # 创建并切换分支(常用!)

git merge <分支名> # 合并指定分支到当前分支

git branch -d <分支名> # 删除本地分支

3. 代码冲突解决

- 执行 `git merge` 或 `git pull` 后若提示冲突,需手动编辑文件中的 `<<<<<<< HEAD` 和 `=======` 标记区域。

- 解决后执行:

git add <冲突文件>

git commit -m "解决冲突"


三、后悔药:撤销与回退

1. 撤销工作区修改

git restore # 撤销未add的修改(Git 2.23+)

git checkout -- # 同上(旧版本写法)

2. 撤销暂存区文件

git restore --staged # 将文件从暂存区撤出(不删除修改)

3. 回退提交

git reset --soft HEAD^ # 撤销commit,保留修改到暂存区

git reset --hard HEAD^ # 彻底回退到上一个版本(慎用!)

git revert # 生成一个反向提交,适合已推送的代码回退


四、高效技巧:提升Git使用体验

1. 储藏临时修改

git stash # 将未提交的修改暂存

git stash pop # 恢复最近一次储藏内容

2. 查看差异

git diff # 工作区与暂存区的差异

git diff --staged # 暂存区与最新提交的差异

git diff <分支1> <分支2> # 比较两个分支

3. 配置别名(.gitconfig)

git config --global alias.co checkout # 用 git co 代替 git checkout

git config --global alias.br branch


五、常见问题速查

- 提交到错误分支怎么办?

使用 `git cherry-pick ` 将某次提交复制到当前分支。

- 误删分支如何恢复?

通过 `git reflog` 查找分支最后的commit-id,再 `git checkout -b <分支名> `。

- 强制推送覆盖远程记录(慎用!)

git push --force origin main # 适用于分支历史被修改后的强制同步


总结

掌握这些指令,足以应对日常开发中的版本控制需求!建议收藏本文,遇到问题时快速查找。

进阶提示:熟悉命令后,可尝试结合图形化工具(如VS Code的Git插件)或学习Git工作流(Git Flow),效率翻倍!

你的常用指令有哪些?欢迎评论区补充!

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2602.html

标签: git删除commit
分享给朋友:

“Git常用指令” 的相关文章

react hooks自定义组件居然能这样做

前言  这里写一下如何封装可复用组件。首先技术栈 react hooks + props-type + jsx封装纯函数组件。类组件和typeScript在这不做讨论,大家别白跑一趟。接下来会说一下封装可复用组件的思路,比如一个新手应该怎么去封装,都需要有哪些东西。  然后说一些复杂组件需要的功能,...

壹啦罐罐 Android 手机里的 Xposed 都装了啥

这是少数派推出的系列专题,叫做「我的手机里都装了啥」。这个系列将邀请到不同的玩家,从他们各自的角度介绍手机中最爱的或是日常使用最频繁的 App。文章将以「每周一篇」的频率更新,内容范围会包括 iOS、Android 在内的各种平台和 App。本期继续歪楼,由少数派撰稿作者@壹啦罐罐介绍他正在使用的...

三、Uni-app + vue3 页面如何跳转及传参?

Vue 项目往往需要使用 vue-router 插件,刚开始入门 Uni-app + Vue3 项目的同学,会不会想着路由使用 vue-router V4 版本不就可以了吗?不怕大家笑话,我就是这样想的,毕竟我是第一次使用 Uni-app ,由于孕期记性贼差,所以我决定写成笔记,加深记忆。uni-a...

三勾知识付费(PHP+vue3)微信小程序平台+SAAS+前后端源码

项目介绍三勾小程序商城基于thinkphp8+element-plus+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端:thinkphp8 管理端...

微信小程序发展越来越快,Flutter应用开发越来越低效?

目前的疑惑微信小程序发展的越来越快,目前小程序甚至取代了大部分 App 的生态位,公司的坑位不增反降,只能让原生应用开发兼顾或换岗进行小程序的开发。以我的实际情况来讲,公司应用采用的 Flutter 框架,同样的功能不可避免的就会存在 Flutter 应用开发和微信小程序开发兼顾的情况,这种重复造轮...

面试题:同步和异步的区别

作者:雅克的一府来源:http://www.52rd.com/Blog/Detail_RD.Blog_imjacob_4832.html答案一:1.异步传输 通常,异步传输是以字符为传输单位,每个字符都要附加 1 位起始位和 1 位停止位,以标记一个字符的开始和结束,并以此实现数据传输同步。所谓异步...