Git 命令行常用命令使用说明

Git 命令行常用命令使用说明

目录

  1. 基本配置
  2. 仓库操作
  3. 提交文件
  4. 推送操作
  5. 远程连接
  6. 获取远程更新
  7. 合并与变基
  8. 冲突解决
  9. 实用技巧

基本配置

设置用户信息

# 设置全局用户名和邮箱
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 查看配置
git config --list

常用别名设置(可选)

git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

仓库操作

初始化仓库

# 在当前目录初始化新仓库
git init

# 克隆现有仓库
git clone <仓库URL>
git clone https://github.com/username/repo.git

查看状态

git status          # 查看工作区和暂存区状态
git status -s       # 简洁模式查看状态

提交文件

提交单个/多个文件

# 添加单个文件到暂存区
git add filename.txt

# 添加多个文件
git add file1.txt file2.txt

# 添加当前目录所有文件
git add .

# 添加所有修改和新增文件(不包括删除)
git add -A

# 交互式添加
git add -p

提交更改

# 提交暂存区的文件
git commit -m "提交说明"

# 提交所有已跟踪文件的修改(跳过git add)
git commit -am "提交说明"

# 修改上一次提交
git commit --amend -m "新的提交说明"

# 提交并保持文件在暂存区
git commit -m "提交说明" --no-verify

查看提交历史

git log             # 查看提交历史
git log --oneline   # 简洁模式
git log --graph     # 图形化显示分支
git log -p          # 显示具体修改内容

推送操作

推送到远程仓库

# 推送到默认远程仓库(通常是origin)的当前分支
git push

# 推送到指定远程仓库和分支
git push origin main

# 强制推送(谨慎使用!会覆盖远程历史)
git push -f origin main

# 推送所有分支
git push --all origin

# 推送标签
git push --tags

远程连接

管理远程仓库

# 查看远程仓库
git remote -v

# 添加远程仓库
git remote add origin <仓库URL>
git remote add origin https://github.com/username/repo.git

# 修改远程仓库URL
git remote set-url origin <新的URL>

# 移除远程仓库
git remote remove origin

# 重命名远程仓库
git remote rename origin newname

多远程仓库

# 添加多个远程仓库
git remote add upstream https://github.com/original/repo.git

# 推送到不同的远程
git push origin main
git push upstream main

获取远程更新

拉取远程更改

# 获取远程更新但不合并
git fetch origin

# 获取并合并到当前分支(推荐)
git pull origin main

# 等同于 git fetch + git merge
git pull

# 获取所有远程分支
git fetch --all

合并与变基

合并操作

# 切换到目标分支
git checkout main

# 合并指定分支到当前分支
git merge feature-branch

# 合并时创建合并提交(默认)
git merge --no-ff feature-branch

变基操作

# 将当前分支变基到目标分支
git rebase main

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

# 变基过程中跳过当前提交
git rebase --skip

# 中止变基
git rebase --abort

# 继续变基
git rebase --continue

处理远程有更新的情况

方法1:先拉取再合并(推荐新手)

# 1. 暂存本地修改(可选)
git stash

# 2. 拉取远程最新代码
git pull origin main

# 3. 恢复本地修改(如果使用了stash)
git stash pop

# 4. 解决可能的冲突后提交
git add .
git commit -m "合并远程更新"

方法2:变基方式(保持线性历史)

# 1. 拉取远程更新并变基
git pull --rebase origin main

# 2. 如果有冲突,解决后继续
git add .
git rebase --continue

# 3. 如果变基失败,可以中止
git rebase --abort

方法3:先获取再变基

# 1. 获取远程更新
git fetch origin

# 2. 变基到远程分支
git rebase origin/main

# 3. 推送更新
git push origin main

冲突解决

识别冲突

# 查看冲突文件
git status

# 查看具体冲突内容
git diff

解决冲突步骤

  1. 打开冲突文件,查找冲突标记:
<<<<<<< HEAD
你的代码
=======
远程代码
>>>>>>> branch-name
  1. 手动编辑文件,选择要保留的代码,删除冲突标记

  2. 标记冲突已解决

# 添加解决后的文件
git add filename.txt

# 或者添加所有文件
git add .
  1. 完成操作
# 如果是合并操作
git commit

# 如果是变基操作
git rebase --continue

# 如果放弃解决
git merge --abort     # 放弃合并
git rebase --abort    # 放弃变基

使用合并工具

# 使用默认的合并工具
git mergetool

# 配置合并工具(如vimdiff)
git config merge.tool vimdiff

实用技巧

撤销操作

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

# 撤销暂存区的文件(取消git add)
git reset HEAD filename.txt

# 撤销上一次提交(保留修改)
git reset --soft HEAD~1

# 撤销上一次提交(不保留修改)
git reset --hard HEAD~1

# 恢复误删的文件
git checkout HEAD -- filename.txt

分支操作

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

# 创建分支
git branch feature-branch

# 切换分支
git checkout feature-branch

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

# 删除分支
git branch -d feature-branch      # 安全删除
git branch -D feature-branch      # 强制删除

暂存修改

# 暂存当前修改
git stash

# 查看暂存列表
git stash list

# 恢复最近一次暂存
git stash pop

# 恢复指定暂存
git stash apply stash@{0}

# 清除所有暂存
git stash clear

标签管理

# 创建标签
git tag v1.0.0

# 创建带注释的标签
git tag -a v1.0.0 -m "版本1.0.0"

# 推送标签到远程
git push origin v1.0.0

# 推送所有标签
git push origin --tags

最佳实践建议

  1. 提交前检查状态git status
  2. 提交时写清晰说明:使用规范的commit message
  3. 频繁提交:小步快跑,避免大量代码一次性提交
  4. 定期拉取更新:避免长时间不更新导致大规模冲突
  5. 使用分支开发:主分支保持稳定,功能开发使用特性分支
  6. 推送前本地测试:确保代码能正常运行
  7. 谨慎使用强制推送:避免覆盖他人工作

常用工作流程

标准开发流程

# 1. 获取最新代码
git pull origin main

# 2. 创建特性分支
git checkout -b feature/xxx

# 3. 开发并提交
git add .
git commit -m "feat: 添加xxx功能"

# 4. 推送分支
git push origin feature/xxx

# 5. 创建Pull Request(在GitHub/GitLab上)

紧急修复流程

# 1. 基于主分支创建修复分支
git checkout -b hotfix/xxx main

# 2. 修复并提交
git add .
git commit -m "fix: 紧急修复xxx问题"

# 3. 合并到主分支
git checkout main
git merge hotfix/xxx
git push origin main

记住:Git非常强大但也需要谨慎操作,重要操作前可以先备份或创建临时分支测试。

# 主业 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×