常用的git命令

一、基础操作

  1. 初始化仓库

    复制代码
    git init
    • 场景:新建项目时初始化本地仓库。
  2. 配置用户信息

    复制代码
    git config --global user.name "Your Name"
    git config --global user.email "[email protected]"
    • 场景:首次使用 Git 前设置全局用户名和邮箱。
  3. 查看文件状态

    复制代码
    git status
    • 场景:查看哪些文件被修改、暂存或未跟踪。
  4. 添加文件到暂存区

    复制代码
    git add <file>       # 添加单个文件
    git add .            # 添加所有修改
    • 场景:将修改后的文件提交到暂存区,准备提交。
  5. 提交更改

    复制代码
    git commit -m "commit message"
    • 场景:保存当前工作进度,记录修改描述。
  6. 查看提交历史

    复制代码
    git log
    git log --oneline    # 简化日志格式
    • 场景:追溯代码变更历史,查看提交记录。

二、分支管理

  1. 创建分支

    复制代码
    git branch <branch-name>
    • 场景:开发新功能或修复 Bug 时创建独立分支。
  2. 切换分支

    复制代码
    git checkout <branch-name>
    • 场景:切换到其他分支继续工作。
  3. 创建并切换分支

    复制代码
    git checkout -b <new-branch>
    • 场景 :快速创建并切换到新分支(如 git checkout -b feature/login)。
  4. 合并分支

    复制代码
    git checkout main        # 切换到目标分支
    git merge <source-branch>
    • 场景 :将开发分支的代码合并到主分支(如 mainmaster)。
  5. 删除分支

    复制代码
    git branch -d <branch-name>      # 删除已合并的分支
    git branch -D <branch-name>      # 强制删除未合并的分支
    • 场景:清理已合并的无用分支。

三、远程仓库协作

  1. 添加远程仓库

    复制代码
    git remote add origin <repository-url>
    • 场景:将本地仓库关联到 GitHub/GitLab 等远程仓库。
  2. 推送代码到远程

    复制代码
    git push origin <branch-name>
    • 场景:将本地分支提交到远程仓库。
  3. 拉取远程更新

    复制代码
    git pull origin <branch-name>   # 拉取并合并远程分支
    • 场景:同步团队成员的代码更新。
  4. 克隆远程仓库

    复制代码
    git clone <repository-url>
    • 场景:下载远程仓库到本地。

四、撤销与回退

  1. 撤销工作区修改

    复制代码
    git restore <file>          # 丢弃未暂存的修改
    git restore .               # 丢弃所有未暂存修改
    • 场景:取消对文件的修改,恢复到最近一次提交的状态。
  2. 撤回提交

    复制代码
    git reset HEAD~1           # 撤回上一次提交(保留修改)
    git reset --hard HEAD~1    # 强制撤回提交(丢弃修改)
    • 场景:修复错误的提交或回退到某个版本。
  3. 生成新提交撤销旧提交

    复制代码
    git revert <commit-hash>
    • 场景:保留历史记录的同时撤销指定提交的修改。

五、其他实用命令

  1. 暂存当前工作

    复制代码
    git stash
    git stash pop          # 恢复暂存的修改
    • 场景:临时保存当前进度,切换到其他任务。
  2. 查看文件差异

    复制代码
    git diff <file>        # 查看未暂存的修改
    git diff --staged      # 查看已暂存但未提交的修改
  3. 标签管理(发布版本)​

    复制代码
    git tag v1.0.0         # 创建轻量标签
    git tag -a v1.0.0 -m "Release note"  # 创建带注释的标签
    git push origin v1.0.0 # 推送标签到远程
    • 场景:标记软件版本或重要里程碑。

应用场景示例

  • 场景 1:修复 Bug 分支

    复制代码
    git checkout -b bugfix/login-error  # 创建 Bug 修复分支
    # 修改代码后提交
    git commit -m "Fix login error"
    git checkout main                   # 切回主分支
    git merge bugfix/login-error        # 合并修复分支
  • 场景 2:解决合并冲突

    当多人修改同一文件的同一部分时,Git 会提示冲突。手动编辑冲突文件后:

    复制代码
    git add <resolved-file>    # 标记冲突已解决
    git commit                 # 完成合并
  • 场景 3:回退错误提交

    发现某次提交有问题:

    复制代码
    git log                    # 找到要回退的 commit hash
    git reset --hard <commit-hash>  # 回退到该版本
相关推荐
sduwcgg4 小时前
git经验
git
麻雀无能为力4 小时前
git的使用
git
算法歌者7 小时前
Visual Studio 项目 .gitignore 文件指南
git·visual studio
江边垂钓者7 小时前
git cherry-pick和git stash命令详解
git
Lw老王要学习7 小时前
Linux架构篇、第五章git2.49.0部署与使用
linux·运维·git·云计算·it
爱学习的张哥7 小时前
专栏项目框架介绍
git·fpga开发·udp·ddr·gt收发器
Aric_Jones10 小时前
lua入门语法,包含安装,注释,变量,循环等
java·开发语言·git·elasticsearch·junit·lua
Sapphire~16 小时前
odoo-049 Pycharm 中 git stash 后有pyc 文件,如何删除pyc文件
ide·git·pycharm
Willis_m20 小时前
Linux 服务器用 SSH 拉取多个 Git 工程
linux·服务器·git·ssh
1candobetter20 小时前
git如何将本地 dev 分支与远程 dev 分支同步
git