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
- 文件操作(添加、提交、状态查看)
在Git中使用个人访问令牌(Token)来进行身份验证,切换Token的步骤如下:
生成新的Token
-
登录到你的代码托管平台(如GitHub、GitLab等)。
-
进入个人设置或账户设置页面,找到与访问令牌相关的选项。
-
生成新的Token,并记录下来,注意保密。
替换旧的Token
• 如果你之前是通过命令行直接使用Token进行认证,例如在克隆仓库时使用了https://@github.com/user/repo.git这种形式,那么可以直接修改命令中的部分为新的Token。
• 如果你使用了Git的凭证存储,以Windows为例,通常可以通过以下步骤替换Token:
-
打开"控制面板",找到"用户账户"。
-
点击"管理你的凭据"。
-
在"Windows凭据"中找到与你的代码托管平台相关的条目,点击"编辑"。
-
将"密码"字段更新为新的Token,然后点击"保存"。
在Linux或macOS系统上,如果你使用了git-credential-store等工具来存储凭证,可通过相应的命令来更新凭证,如git credential-store set,具体用法可参考相关工具的文档。
• 查看文件状态:
git status # 查看未跟踪/已修改的文件
• 添加文件到暂存区:
git add [文件名] # 添加单个文件
git add . # 添加所有文件
• 提交暂存区文件到本地仓库:
git commit -m "提交说明(必填)"
- 分支管理
• 查看分支:
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 [分支名] # 删除本地分支(需先切换到其他分支)
- 远程仓库操作
• 添加远程仓库:
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
- 版本回退与历史查看
• 查看提交历史:
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 # 推送所有未推送的标签
- 变基(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 # 清理无效的远程分支引用