一套完整的git命令行使用教程(QWen3)

以下是一套 Git 命令行使用教程,涵盖从安装配置到日常操作的完整流程,适合初学者和进阶用户。


一、Git 安装与配置

1. 安装 Git

  • Windows: 下载安装包 https://git-scm.com/
  • macOS: 使用 Homebrew 安装:
    brew install git
    
  • Linux (Ubuntu/Debian):
    sudo apt update
    sudo apt install git
    

2. 配置 Git

# 设置全局用户名和邮箱(用于提交记录)
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

# 查看配置
git config --list

二、初始化仓库

1. 克隆远程仓库

# 克隆 HTTPS 协议
git clone https://github.com/username/repository.git

# 克隆 SSH 协议(需配置 SSH Key)
git clone git@github.com:username/repository.git

2. 初始化本地仓库

# 进入项目目录
cd your-project-directory

# 初始化 Git 仓库
git init

三、基本操作

1. 查看状态

# 查看工作区和暂存区状态
git status

# 查看提交历史
git log
git log --oneline  # 简洁版

2. 添加文件到暂存区

# 添加单个文件
git add filename.txt

# 添加所有修改的文件
git add .

# 撤销暂存区的某个文件
git reset HEAD filename.txt

3. 提交更改

# 提交暂存区的更改(需添加 -m 参数)
git commit -m "提交说明"

# 直接提交所有修改(跳过 add 步骤)
git commit -a -m "提交说明"

四、远程仓库协作

1. 关联远程仓库

# 添加远程仓库地址
git remote add origin https://github.com/username/repository.git

# 查看远程仓库地址
git remote -v

2. 推送本地提交到远程

# 推送 master 分支到远程
git push origin master

# 第一次推送需指定分支
git push -u origin master

3. 拉取远程更新

# 拉取远程分支的最新更改
git pull origin master

# 如果提示合并无关历史(unrelated histories):
git pull origin master --allow-unrelated-histories

4. 强制推送(谨慎使用)

# 覆盖远程分支(慎用!会丢失远程提交)
git push --force origin master

五、分支管理

1. 创建和切换分支

# 创建新分支
git branch new-branch

# 切换分支
git checkout new-branch

# 创建并切换分支(一步完成)
git checkout -b new-branch

2. 合并分支

# 切换到目标分支(如 master)
git checkout master

# 合并其他分支到当前分支
git merge new-branch

3. 删除分支

# 删除本地分支
git branch -d branch-name

# 删除远程分支
git push origin --delete branch-name

六、冲突解决

1. 冲突场景

  • git pullgit merge 时,Git 无法自动合并代码,会提示冲突。
  • 冲突文件会被标记为:
    <<<<<<< HEAD
    本地代码
    =======
    远程代码
    >>>>>>> commit-id
    

2. 解决冲突步骤

  1. 编辑冲突文件,保留需要的代码,删除冲突标记。
  2. 标记冲突已解决:
    git add conflicted-file
    
  3. 提交解决后的更改:
    git commit
    

七、撤销操作

1. 撤销工作区修改

# 撤销某个文件的修改
git checkout -- filename.txt

# 撤销所有修改
git checkout -- .

2. 撤销提交

# 回退到上一次提交(保留修改到工作区)
git reset --mixed HEAD~1

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

# 回退到指定提交
git reset --hard commit-id

3. 撤销已推送的提交

# 使用 revert 创建反向提交(推荐)
git revert HEAD

八、高级命令

1. 重写提交历史(rebase)

# 将当前分支的提交移到另一个分支上
git rebase master

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

2. 暂存未提交的修改

# 暂存修改
git stash

# 应用暂存
git stash apply

# 查看暂存列表
git stash list

3. 标签管理

# 创建标签
git tag v1.0

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

# 查看标签
git tag

九、实用技巧

1. 设置命令别名

# 在 ~/.gitconfig 中添加别名
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

2. 快捷命令速查

命令 功能
git status 查看当前状态
git add . 添加所有修改
git commit -m "msg" 提交更改
git push origin branch 推送分支到远程
git pull origin branch 拉取远程分支更新
git log --oneline 查看简洁提交历史

十、常见问题

1. 推送被拒(non-fast-forward)

  • 原因: 远程分支有你本地没有的提交。
  • 解决: 拉取远程更新后合并:
    git pull origin master
    git push origin master
    

2. 合并无关历史(unrelated histories)

  • 解决: 强制合并:
    git pull origin master --allow-unrelated-histories
    

3. 凭据缓存

  • 缓存密码:
    git config credential.helper cache
    # 设置缓存时间(单位秒)
    git config credential.helper cache 3600
    

十一、总结

Git 是版本控制的核心工具,掌握以下流程即可高效协作:

  1. 配置用户信息 → 2. 初始化仓库 → 3. 添加/提交更改 → 4. 推送/拉取远程 → 5. 分支管理 → 6. 解决冲突 → 7. 撤销操作

通过实践和熟悉常用命令,你可以轻松应对开发中的版本管理需求!如果需要进一步帮助,请随时提问!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容