以下是一套 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 pull
或git merge
时,Git 无法自动合并代码,会提示冲突。 - 冲突文件会被标记为:
<<<<<<< HEAD 本地代码 ======= 远程代码 >>>>>>> commit-id
2. 解决冲突步骤
- 编辑冲突文件,保留需要的代码,删除冲突标记。
- 标记冲突已解决:
git add conflicted-file
- 提交解决后的更改:
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 是版本控制的核心工具,掌握以下流程即可高效协作:
- 配置用户信息 → 2. 初始化仓库 → 3. 添加/提交更改 → 4. 推送/拉取远程 → 5. 分支管理 → 6. 解决冲突 → 7. 撤销操作。
通过实践和熟悉常用命令,你可以轻松应对开发中的版本管理需求!如果需要进一步帮助,请随时提问!