超详细的Git配置流程

张开发
2026/4/10 8:32:37 15 分钟阅读

分享文章

超详细的Git配置流程
一、Git 基础配置1. 首次使用配置身份bash复制# 配置用户名和邮箱全局 git config --global user.name 你的名字 git config --global user.email 你的邮箱example.com # 验证配置 git config --list git config user.name git config user.email二、本地仓库操作1. 基础流程bash复制# 查看状态 git status # 添加文件到暂存区 git add 文件名 # 添加单个文件 git add . # 添加所有修改 # 提交到本地仓库 git commit -m 提交说明 # 查看提交历史 git log # 详细历史 git log --oneline # 简洁历史推荐2. 文件恢复与撤销表格场景命令撤销工作区修改git restore 文件名或git checkout -- 文件名撤销暂存区add后git restore --staged 文件名回退到指定版本git reset --hard 版本号只恢复某个文件到旧版本git checkout 版本号 -- 文件名三、远程仓库操作1. 关联远程仓库bash复制# 查看远程仓库 git remote -v # 添加远程仓库 git remote add 别名 仓库地址 # 示例 git remote add origin https://gitee.com/用户名/仓库名.git git remote add test gitgitee.com:用户名/仓库名.git # SSH格式2. 推送与拉取bash复制# 首次推送建立关联 git push -u 远程别名 分支名 git push -u test master # 示例 # 后续推送已关联 git push # 拉取远程更新 git pull 远程别名 分支名 git pull test master # 示例 # 或已关联后直接 git pull3. 解决推送冲突bash复制# 情况1远程有更新本地落后 git pull test master # 情况2历史不相关unrelated histories git pull test master --allow-unrelated-histories # 情况3强制覆盖远程慎用 git push -uf test master四、SSH 免密登录配置1. 生成密钥对bash复制# 生成 Ed25519 密钥推荐 ssh-keygen -t ed25519 -C 备注标签可以是任意文字 # 或 RSA 格式兼容性更好 ssh-keygen -t rsa -b 4096 -C 备注注意-C只是备注可以是邮箱、手机号、任意文字。2. 添加公钥到远程平台bash复制# 查看并复制公钥内容 cat ~/.ssh/id_ed25519.pub然后粘贴到 Gitee/GitHub 的设置 → SSH 公钥页面。3. 修改远程地址为 SSH 格式bash复制# 查看当前地址 git remote -v # 修改为 SSH 格式免密 git remote set-url 别名 gitgitee.com:用户名/仓库名.git # 示例 git remote set-url test gitgitee.com:renaissance-person/study.git4. 首次连接验证bash复制# 测试 SSH 连接 ssh -T gitgitee.com五、常见问题速查表格问题原因解决Author identity unknown未配置用户名邮箱git config --global user.name/emailfailed to push some refs远程有更新本地没有git pull后再git pushrefusing to merge unrelated histories两个独立仓库历史git pull --allow-unrelated-historiesAlready up to date但文件不对本地有未提交修改git status查看git restore恢复每次 push 要输入密码使用 HTTPS 而非 SSH配置 SSH 密钥并修改 remote URL六、关键概念理解1. 工作区、暂存区、仓库区plain复制┌─────────────┐ git add ┌─────────┐ git commit ┌─────────┐ │ 工作区 │ ───────────── │ 暂存区 │ ───────────── │ 本地仓库 │ │ (实际文件) │ │ (index) │ │ (HEAD) │ └─────────────┘ └─────────┘ └─────────┘ ↑ │ └──────────────────── git checkout ---------------------------┘ (恢复文件)2. HTTPS vs SSH 协议表格协议URL 格式特点HTTPShttps://gitee.com/...需要每次输入密码/TokenSSHgitgitee.com:...配置密钥后免密更安全3.-u参数的含义bash复制git push -u origin master # ↑ # 建立 upstream 关联后续可直接 git push / git pull七、日常开发流程标准bash复制# 1. 开始工作前先拉取最新代码 git pull # 2. 修改文件... # 3. 查看修改了哪些 git status git diff # 4. 添加修改到暂存区 git add . # 5. 提交到本地 git commit -m 本次修改说明 # 6. 推送到远程 git push # 7. 查看提交历史 git log --oneline八、危险操作警告 ⚠️表格命令危险程度说明git reset --hard 高永久丢弃未提交修改git push -f / --force 高强制覆盖远程可能丢失他人代码rm -rf .git 极高删除整个 Git 仓库历史建议执行前先用git status确认状态。

更多文章