Git使用手册保姆级教程
Git 使用手册
一、Git 简介与安装
- 什么是Git?
• Git 是一个分布式版本控制系统,用于跟踪文件变化,支持多人协作开发。
- 安装步骤
• Windows:通过 Git官网 下载安装包,按默认配置安装即可。
• macOS:使用 Homebrew 安装:brew install git。
• Linux:使用包管理器安装(如 apt install git 或 yum install git)。
二、基础配置
首次使用前需配置用户信息:
配置用户名(提交时显示)
git config --global user.name “你的名字”
配置邮箱(提交时显示)
git config --global user.email “你的邮箱@example.com”
查看配置信息
git config --list
三、Git 核心命令
- 仓库初始化与克隆
• 初始化本地仓库:
git init # 在当前目录创建.git文件夹,初始化仓库
• 克隆远程仓库:
git clone [远程仓库URL] # 例:git clone https://github.com/user/repo.git
2. 文件操作(添加、提交、状态查看)
• 查看文件状态:
git status # 查看未跟踪/已修改的文件
• 添加文件到暂存区:
git add [文件名] # 添加单个文件
git add . # 添加所有文件
• 提交暂存区文件到本地仓库:
git commit -m “提交说明(必填)”
3. 分支管理
• 查看分支:
git branch # 查看本地分支(当前分支前有*标记)
git branch -a # 查看所有分支(包括远程分支)
• 创建分支:
git branch [分支名] # 例:git branch feature/new-feature
• 切换分支:
git checkout [分支名] # 例:git checkout main
• 创建并切换分支:
git checkout -b [新分支名]
• 合并分支(在目标分支执行):
git merge [待合并分支名] # 例:git merge feature/new-feature
• 删除分支:
git branch -d [分支名] # 删除本地分支(需先切换到其他分支)
4. 远程仓库操作
• 添加远程仓库:
git remote add [别名] [远程URL] # 例:git remote add origin https://github.com/repo.git
• 查看远程仓库:
git remote -v
• 拉取远程仓库代码:
git pull [远程别名] [分支名] # 例:git pull origin main
• 推送本地代码到远程:
git push [远程别名] [分支名] # 例:git push origin main
5. 版本回退与历史查看
• 查看提交历史:
git log # 查看详细提交记录
git log --oneline # 简洁模式显示提交记录
• 回退到指定版本:
git reset --hard [commit哈希值前7位] # 例:git reset --hard a1b2c3d
• 撤销未提交的修改:
git checkout – [文件名] # 撤销文件修改,恢复到上一次提交状态
四、进阶功能
- 解决冲突
当合并分支出现冲突时:
-
打开冲突文件,会看到类似 <<<<<<< HEAD 和 >>>>>>> 标记冲突内容。
-
手动修改冲突部分,保留正确代码。
-
保存文件后,执行 git add [文件名] 和 git commit 完成合并。
-
标签(Tag)
• 创建标签:
git tag [标签名] # 例:git tag v1.0.0
git tag -a [标签名] -m “标签说明” # 带说明的标签
• 推送标签到远程:
git push origin [标签名] # 推送单个标签
git push --tags # 推送所有未推送的标签
3. 变基(Rebase)
• 将当前分支基于另一个分支重新应用提交:
git rebase [目标分支] # 例:git rebase main
五、实用配置与技巧
- 别名设置
简化常用命令:
git config --global alias.[别名] “[命令]” # 例:git config --global alias.lg “log --oneline --graph”
设置后,可通过 git lg 代替 git log --oneline --graph。
- .gitignore 文件
在仓库根目录创建 .gitignore 文件,用于忽略不需要跟踪的文件(如日志、编译文件等):
示例:
*.log
node_modules/
dist/
六、常见问题与解决方案
- 忘记提交说明怎么办?
git commit --amend -m “新的提交说明” # 修改最后一次提交的说明 - 远程分支已删除,本地仍显示?
git fetch -p # 清理无效的远程分支引用