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

Git 常用命令完整指南

1. 基础配置命令

配置用户信息

bash

# 全局配置
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱"# 为特定仓库配置
git config user.name "项目专用姓名"

使用场景:首次安装 Git 或在新电脑上设置
注意事项:用户信息会记录在提交历史中,务必使用真实信息

查看配置

bash

git config --list

2. 仓库初始化与克隆

初始化新仓库

bash

git init

克隆远程仓库

bash

git clone https://github.com/username/repo.git
git clone https://github.com/username/repo.git my-project  # 自定义目录名

使用场景

  • git init:从零开始新项目

  • git clone:获取已有项目代码

常见问题

bash

# 克隆失败:权限不足
# 解决方法:使用 SSH 方式或提供访问令牌
git clone git@github.com:username/repo.git

3. 文件状态与提交管理

检查状态

bash

git status
git status -s  # 简洁模式

添加文件到暂存区

bash

git add filename.txt          # 添加特定文件
git add .                     # 添加所有变化
git add *.js                  # 添加所有 js 文件
git add -p                    # 交互式选择添加

提交更改

bash

git commit -m "提交描述"
git commit -am "描述"         # 添加并提交所有已跟踪文件

使用场景示例

bash

# 典型工作流程
echo "Hello World" > README.md
git status                    # 查看未跟踪文件
git add README.md            # 添加到暂存区
git status                    # 查看已暂存文件
git commit -m "添加README文档"

注意事项

  • 提交信息要清晰明了,说明本次提交的目的

  • 避免使用 git add . 添加不必要的文件(如日志、临时文件)


4. 分支管理

查看分支

bash

git branch                   # 查看本地分支
git branch -r                # 查看远程分支
git branch -a                # 查看所有分支

创建与切换分支

bash

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

合并分支

bash

git checkout main
git merge feature-auth       # 将 feature-auth 合并到 main

删除分支

bash

git branch -d feature-auth   # 删除已合并的分支
git branch -D feature-auth   # 强制删除未合并分支

使用场景示例

bash

# 功能开发流程
git checkout -b feature-user-profile
# ... 开发代码 ...
git add .
git commit -m "实现用户资料页面"
git checkout main
git merge feature-user-profile
git branch -d feature-user-profile

常见问题

bash

# 错误:删除未合并分支
error: The branch 'feature-x' is not fully merged.# 解决方法:确认真的要删除,使用 -D 强制删除
git branch -D feature-x

5. 远程仓库操作

查看远程仓库

bash

git remote -v

添加远程仓库

bash

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

推送到远程

bash

git push origin main
git push -u origin main      # 设置上游分支,后续可直接 git push

拉取更新

bash

git pull origin main         # 拉取并合并
git fetch origin             # 只获取不合并

使用场景示例

bash

# 首次推送本地仓库到远程
git remote add origin https://github.com/user/repo.git
git push -u origin main# 日常协作
git pull origin main        # 获取最新代码
# ... 开发 ...
git add .
git commit -m "完成功能"
git push origin main

常见问题

bash

# 错误:推送被拒绝
! [rejected] main -> main (non-fast-forward)# 解决方法:先拉取再推送
git pull origin main
git push origin main# 或者强制推送(谨慎使用)
git push -f origin main

6. 撤销与回退

撤销工作区修改

bash

git checkout -- filename.txt    # 撤销单个文件修改
git checkout -- .              # 撤销所有修改

撤销暂存区文件

bash

git reset HEAD filename.txt    # 从暂存区移除文件

修改上次提交

bash

git commit --amend            # 修改提交信息或添加漏掉的文件

回退到特定提交

bash

git reset --hard HEAD^        # 回退到上一个提交
git reset --hard commit_id    # 回退到特定提交

使用场景示例

bash

# 场景1:写错了代码想重来
git checkout -- src/app.js# 场景2:不小心添加了错误文件到暂存区
git add .
git reset HEAD unwanted-file.txt# 场景3:提交信息写错了或漏了文件
git add forgotten-file.js
git commit --amend -m "正确的提交信息"

注意事项

  • git reset --hard 会永久删除未提交的更改,使用要谨慎

  • 已推送到远程的提交不要使用 git reset --hard


7. 查看历史与比较

查看提交历史

bash

git log
git log --oneline            # 简洁模式
git log --graph              # 图形化显示
git log -p                   # 显示具体修改内容

比较差异

bash

git diff                     # 工作区与暂存区差异
git diff --staged           # 暂存区与最新提交差异
git diff branch1 branch2    # 两个分支差异

使用场景

  • 代码审查前查看自己的修改

  • 理解项目历史变更

  • 排查引入 bug 的提交


8. 储藏临时修改

储藏工作进度

bash

git stash                    # 储藏当前修改
git stash save "描述"        # 带描述的储藏
git stash list              # 查看储藏列表
git stash pop               # 应用最近储藏并删除
git stash apply             # 应用储藏但不删除

使用场景示例

bash

# 正在开发功能A,需要紧急修复bug
git stash                    # 储藏功能A的代码
git checkout -b hotfix-bug   # 创建修复分支
# ... 修复bug ...
git add .
git commit -m "紧急修复"
git checkout feature-a
git stash pop               # 恢复功能A的代码

9. 标签管理

创建标签

bash

git tag v1.0.0              # 轻量标签
git tag -a v1.0.0 -m "版本1.0.0发布"  # 附注标签

推送标签

bash

git push origin v1.0.0      # 推送特定标签
git push origin --tags      # 推送所有标签

使用场景:项目版本发布标记


10. 高级操作

rebase 变基

bash

git rebase main             # 将当前分支变基到main
git rebase -i HEAD~3        # 交互式变基,合并最近3个提交

注意事项:不要在公共分支上对已推送的提交进行 rebase

cherry-pick 精选

bash

git cherry-pick commit_id   # 将特定提交应用到当前分支

使用场景:将其他分支的某个修复提交应用到当前分支


常见问题汇总

1. 提交到错误分支

bash

# 解决方法:
git log --oneline          # 找到提交的commit id
git reset --hard HEAD^     # 在错误分支回退
git checkout correct-branch
git cherry-pick commit_id  # 在正确分支应用提交

2. 冲突解决

bash

# 当 pull 或 merge 出现冲突时:
git status                 # 查看冲突文件
# 手动编辑解决冲突
git add resolved-file.txt
git commit                # 完成合并提交

3. 找回误删的分支或提交

bash

# 查看历史操作记录
git reflog
# 找到删除前的commit id,然后恢复
git checkout -b recovered-branch commit_id

4. 忽略文件配置

创建 .gitignore 文件:

text

# 日志文件
*.log# 依赖目录
node_modules/# 环境配置
.env
.env.local# 系统文件
.DS_Store
Thumbs.db

最佳实践

  1. 提交规范:每次提交只做一件事,提交信息清晰明了

  2. 分支策略:主分支保持稳定,功能开发使用特性分支

  3. 定期同步:经常 pull 最新代码,避免大规模冲突

  4. 代码审查:推送前检查自己的修改

  5. 备份重要修改:重要更改在本地另外备份

这份文档涵盖了 Git 的常用命令和实际工作场景,建议在实际操作中逐步掌握这些命令的使用。

http://www.dtcms.com/a/461847.html

相关文章:

  • 网站维护入口房子装修设计软件
  • MySQL 延时从库的作用与意义
  • h5网站价格wordpress footer.php添加qq悬浮
  • 【脚本升级】银河麒麟V10一键安装MySQL9.3.0
  • android pdf框架-15,mupdf工具与其它
  • 前端通用文件下载方案:从 Blob 流处理到实际业务落地
  • 箭头函数的this指向问题
  • 【Vue】——生命周期、ref属性、hooks
  • 网站服务器如何维护小米商城wordpress主题
  • 寻梦数据空间 | 架构篇:从概念到落地的技术实践与突破性创新
  • PySide6 文本编辑器(QPlainTextEdit)实现查找对话功能(匹配完整单词,区分大小写)——重构版本
  • golang面经——GMP相关
  • 谷歌英文网站简单的网站php开发教程
  • 免费一键自助建站官网域名及对应网站
  • AI编程Cursor最强竞争对手来了,CodeX三种操作系统喂饭级安装教程!
  • Spring Cloud Alibaba 最新五大核心组件
  • 融乐Mini1.9.3 | 支持在线播放,本地播放,内置两条线路,免费畅听全网音乐
  • 车行网站源码微信公众平台营销
  • 客户端加密 和 服务端加密:端到端安全的真正含义
  • 88-python电网可视化项目-8-1
  • 做网站要自己租服务器吗wordpress打开速度优化
  • 要看网站是多少建设一个网站需要哪些费用
  • 物联网时代下无锡漫途科技无线多参数遥测终端助力饮水安全监测
  • 公司网站建设款计什么科目wordpress jquery版本
  • 麒麟系统如何设置.sh文件的图标
  • 3D GPR切片图
  • 深圳建设网站制作公司怎样制作一个网页
  • 腾讯云手机适用于哪些人群
  • 云南技术网站建设销售编程代码入门教学
  • 【PalladiumZ2 使用专栏 5 -- 模拟电路是否可以仿真?】