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

Git 常用命令完全指南:从入门到高效协作

文章需要结构清晰,涵盖从入门到进阶的常用命令,结合实例和注意事项,帮助用户快速掌握Git的核心功能,并应用到实际项目中


Git Workflow

一、仓库初始化与基础操作

1. 创建与克隆仓库

# 初始化本地仓库
git init

# 克隆远程仓库(SSH方式)
git clone git@gitee.com:user/repo.git

# 克隆指定分支(SSH方式)
git clone -b dev git@gitee.com:user/repo.git

2. 文件状态管理

# 查看当前状态(推荐别名:git st)
git status

# 添加单个文件到暂存区
git add index.html

# 添加所有修改(不包括.gitignore文件)
git add .

# 交互式添加(选择部分修改)
git add -p

二、提交历史管理

1. 提交操作

# 常规提交
git commit -m "完善用户登录功能"

# 修改上次提交(修正提交信息)
git commit --amend

# 带详细描述的提交
git commit -m "标题" -m "详细描述..."

2. 查看历史记录

# 简洁版历史(推荐别名:git lg)
git log --oneline --graph

# 显示文件变化
git log -p

# 按作者过滤
git log --author="John"

# 按时间过滤
git log --since="2023-01-01" --until="2023-06-30"

三、分支管理策略

1. 基础分支操作

# 查看所有分支
git branch -av

# 创建并切换分支
git checkout -b feature-auth

# 删除已合并分支
git branch -d old-feature

# 强制删除未合并分支
git branch -D hotfix

2. 分支合并与变基

# 合并分支到当前分支
git merge feature-auth

# 变基操作(保持历史线性)
git checkout feature-auth
git rebase main

# 交互式变基(修改历史提交)
git rebase -i HEAD~3

四、远程协作流程

1. 远程仓库管理

# 查看远程仓库信息
git remote -v

# 添加多个远程仓库
git remote add upstream git@gitee.com:other/repo.git

# 修改远程仓库地址
git remote set-url origin new_url

2. 推送与拉取

# 首次推送分支
git push -u origin main

# 强制推送(慎用!)
git push -f

# 拉取并合并
git pull origin dev

# 拉取并变基
git pull --rebase origin dev

五、撤销与恢复操作

1. 文件级撤销

# 撤销工作区修改
git checkout -- file.txt

# 撤销暂存区修改
git reset HEAD file.txt

2. 提交级撤销

# 回退到指定提交(保留修改)
git reset 08a3b2d

# 硬回退(慎用!丢弃修改)
git reset --hard HEAD~1

# 反提交(创建新提交撤销)
git revert 08a3b2d

六、高级实用技巧

1. 储藏临时修改

# 储藏当前修改
git stash

# 查看储藏列表
git stash list

# 应用最近储藏
git stash pop

# 应用指定储藏
git stash apply stash@{1}

2. 标签管理

# 创建标签
git tag v1.0.0

# 带注释的标签
git tag -a v1.1.0 -m "正式版本发布"

# 推送标签到远程
git push origin --tags

七、典型工作流示例

1. 功能开发流程

开发者 本地仓库 远程仓库 git checkout -b feature 代码修改 git commit loop [开发迭代] git push origin feature 创建Pull Request 代码审查通过 合并到main分支 开发者 本地仓库 远程仓库

八、最佳实践建议

1. 提交规范:

# 推荐格式
<type>(<scope>): <subject>

# 示例
feat(user): 新增手机号登录功能
fix(payment): 修复金额计算错误

2. .gitignore 模板:

# 系统文件
.DS_Store
Thumbs.db

# 开发环境
node_modules/
.env
*.log

# IDE配置
.vscode/
.idea/

3. 别名配置(~/.gitconfig):

[alias]
    st = status -s
    co = checkout
    br = branch
    ci = commit
    lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

掌握这些核心命令,结合团队协作规范,您将能高效应对日常开发中的版本控制需求。建议通过实际项目练习巩固知识,遇到问题时善用 git help 查看官方文档。

相关文章:

  • 【商城实战(39)】Spring Boot 携手微服务,商城架构焕新篇
  • 华为OD机试 - 九宫格按键输入 - 逻辑分析(Java 2023 B卷 200分)
  • helm部署metricbeat
  • 巧用 VSCode 与 AI 编码提升 Vue 前端开发效率
  • Vue 登录 记住密码,设置存储时间
  • R语言——变量
  • 计算机网络笔记
  • CI/CD 全流程全解
  • 提升AI性能的秘密武器:量化、蒸馏与剪枝全面解析
  • conda、poetry,pip相关
  • 计算机网络进化论:从比特流到量子通信的深层解构
  • ZSL多个session
  • 软考笔记——计算机系统知识
  • 5.建造者模式
  • vSphere 克隆 Windows 虚拟机后无法访问文件共享的解决方案
  • Maven | 站在初学者的角度配置
  • vue3单独引用element-plus的Infinite Scroll无限滚动;vue3自定义指令
  • 一、Redis简介篇
  • 【操作系统安全】任务5:Windows 文件与文件系统
  • 解锁淘宝分类宝藏:深入探索“cat_get”接口的力量
  • 五一当天1372对新人在沪喜结连理,涉外婚姻登记全市铺开
  • 200枚篆刻聚焦北京中轴线,“印记”申遗往事
  • 孙磊已任中国常驻联合国副代表、特命全权大使
  • 软硬件企业集中发布未成年人模式使用手册
  • 中国人民解放军南部战区位南海海域进行例行巡航
  • 浙商银行外部监事高强无法履职:已被查,曾任建行浙江省分行行长