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

Git 常用命令详解

Git 常用命令详解(含详细示例)

本文整理了 Git 日常使用中最常用的命令,适合初学者和日常查阅,如有错误,敬请指正,谢谢!


☁️ Git 使用流程入门(从 pull 和 push 开始)

1️⃣ 克隆远程仓库(首次使用)

git clone https://github.com/user/repo.git
cd repo
  • 说明:将远程仓库代码下载到本地并进入项目目录。

2️⃣ 日常更新远程仓库的代码(pull)

git branch                 # 查看当前所在的分支git checkout main              # 如果当前不在 main 分支,切换到主分支git pull origin main           # 拉取远程主分支的最新代码
  • 说明:每次开始开发前,建议先拉取最新远程更新,防止提交冲突。

3️⃣ 修改文件并保存

# 例如修改了 hello.py 文件
# 修改后保存文件

4️⃣ 添加到暂存区并提交

# 添加单个文件到暂存区
git add hello.py# 或添加所有已修改文件
git add .# 提交保存修改,并添加提交信息
git commit -m "修复 hello.py 中的语法错误"

5️⃣ 推送到远程仓库

git push origin main
  • 说明:将提交内容同步到远程仓库。

📁 初始化本地仓库

mkdir my-project
cd my-project
git init
  • 说明:在 my-project 目录中初始化一个空的 Git 仓库。

🔍 查看状态

git status
  • 说明:查看工作目录与暂存区的文件状态。

➕ 添加文件到暂存区

git add <文件名>     # 添加单个文件
git add .            # 添加所有更改过的文件

✅ 提交更改

git commit -m "提交说明"
  • 说明:将暂存区中的内容提交到本地版本库。

🔁 查看提交记录

git log              # 全量日志
git log --oneline    # 简洁格式

🔄 查看修改内容

git diff             # 工作目录与暂存区差异
git diff --cached    # 暂存区与上次提交差异

🗑️ 撤销修改

git checkout -- <文件名>
  • 说明:放弃当前工作目录对指定文件的修改(不可恢复)。

🔙 回退到某次提交

git log --oneline            # 找到想回退的提交ID
git reset --hard a1b2c3d     # 回退到指定提交(不可恢复)
  • 说明:强制回退 HEAD 和工作目录到指定提交。

  • 注意:此操作会清除之后的提交,谨慎使用。


🌱 创建和查看分支

git branch                    # 查看所有本地分支
git branch dev                # 创建名为 dev 的新分支
git checkout dev              # 切换到 dev 分支
git switch dev                # 更推荐的新语法

🔀 合并分支

git checkout main             # 当前所在分支是 main
git pull origin main          # 确保 main 是最新的
git merge dev                 # 将 dev 分支合并进 main
  • 说明

    • 合并之前一定要确保处于目标分支(如 main)。
    • 合并来源是指定的分支(如 dev)。
    • 合并后若有冲突需手动解决再提交。

🧹 删除分支

git branch -d dev                     # 删除本地分支
git push origin --delete dev         # 删除远程分支

🔗 连接远程仓库和修改远程地址

查看当前远程仓库地址

git remote -v
  • 说明:查看当前仓库的远程地址和 fetch/push 配置。

添加远程仓库(首次)

git remote add origin https://github.com/user/repo.git

修改远程仓库地址

git remote set-url origin https://github.com/newuser/newrepo.git
  • 说明:若原远程地址变更(如换了 GitHub 账户或项目迁移),可用此命令更新。
git remote add origin https://github.com/user/repo.git
  • 说明:添加名为 origin 的远程仓库地址。

☁️ 推送到远程仓库(首次)

git push -u origin main
  • 说明:第一次推送时使用 -u 绑定远程分支,以后只需执行 git push 即可。

❗ 如果远程已有提交怎么办?

git pull origin main --rebase        # 拉取并与本地代码衔接
# 或强推(慎用)
git push -f origin main

☁️ 拉取远程仓库更新

git pull origin main
  • 说明:获取远程更新并自动合并。

🔄 覆盖本地代码(慎用)

git fetch --all
git reset --hard origin/main
  • 说明:强制使用远程代码覆盖本地所有更改。

🧰 常用组合操作流程(工作流建议)

# Step 1: 新建分支并切换git checkout -b feature-x      # 创建并切换到新分支 feature-x# Step 2: 开发代码并提交git add .
git commit -m "完成了 feature-x 功能"# Step 3: 推送分支git push -u origin feature-x   # 将分支推送到远程# Step 4: 合并到主分支git checkout main
git pull origin main           # 保证 main 是最新的
git merge feature-x            # 合并 feature-x 分支git push origin main           # 推送合并后的主分支

🧳 暂存工作进度(stash)

git stash                      # 暂存当前未提交的更改
git stash list                 # 查看所有 stash 项
git stash pop                  # 恢复最近一次 stash 的内容并删除该 stash
  • 说明:适用于临时切换分支或保存当前工作进度。

🏷️ 打标签(tag)

git tag v1.0                   # 创建标签 v1.0(默认基于当前提交)
git tag                        # 查看所有标签
git push origin v1.0          # 推送单个标签到远程
git push origin --tags        # 推送所有标签
  • 说明:标签用于标记某次关键提交,常用于版本管理。

如需继续补充其他 Git 场景,可放评论区进行补充。

http://www.xdnf.cn/news/466273.html

相关文章:

  • 基于基金净值百分位的交易策略
  • 游戏行业DDoS攻击类型及防御分析
  • 飞凌嵌入式旗下教育品牌ElfBoard即将亮相「第63届高等教育博览会」
  • 阿里云的网络有哪些
  • 智能视觉赋能精准抓取:富唯智能重新定义机械臂应用新高度​
  • 开源免费iOS或macOS安装虚拟机运行window/Linux系统
  • Top-p采样:解锁语言模型的创意之门
  • Da14531蓝牙特征值1读没有回调解决
  • 掌握Multi-Agent实践(七):基于AgentScope分布式模式实现多智能体高效协作[并行加速大模型辅助搜索、分布式多用户协同辩论赛]
  • 基于智能推荐的就业平台的设计与实现(招聘系统)(SpringBoot Thymeleaf)+文档
  • 鸿蒙OSUniApp 制作简洁高效的标签云组件#三方框架 #Uniapp
  • [吾爱出品] 中医问诊辅助记录软件
  • Missashe考研日记—Day37-Day43
  • SAP ABAP 中驼峰字段名转 JSON 的实现方案
  • DG-3F三指机械灵巧手,3手指和12关节,单爪即可实现最高效率
  • 1.1 认识编程与C++
  • 7、MinIO服务器简介与安装
  • Figma 新手教程学习笔记
  • 高项-逻辑数据模型
  • 【数字图像处理】半开卷复习提纲
  • C40-指针
  • 在线文档管理系统 spring boot➕vue|源码+数据库+部署教程
  • 用vlookup函数根据基因名查找基因对应的CNV数据
  • Scratch作品 | 3D原野漫游
  • 班会内容模板
  • Obsidian Callouts标注框语法
  • 从卡顿到丝滑:JavaScript性能优化实战秘籍
  • 人大金仓数据库 与django结合
  • 【BotSharp详细介绍——一步步实现MCP+LLM的聊天问答实例】
  • 火山引擎发展方向