Git核心命令与推送流程
当前文档字数: 0 字 | 阅读时长约: 0 分钟
更新时间:2025/03/23
标准推送流程
1. 仓库初始化
bash
# 新建项目初始化
git init
# 克隆现有仓库(支持HTTPS/SSH协议)
git clone https://github.com/user/repo.git # HTTPS方式
git clone git@github.com:user/repo.git # SSH方式(推荐)[1](@ref)[58](@ref)2. 全局配置
bash
# 设置身份标识(必须项)
git config --global user.name "YourName"
git config --global user.email "email@example.com"
# 查看配置列表
git config --list3. 远程仓库关联
bash
# 添加远程仓库(首次需执行)
git remote add origin git@github.com:user/repo.git
# 验证远程连接
git remote -v4. 提交本地变更
bash
# 查看文件状态
git status
# 添加文件到暂存区
git add . # 添加所有修改
git add filename.txt # 添加指定文件
# 提交到本地仓库
git commit -m "描述性提交信息" # 强制要求有明确注释5. 分支管理
bash
# 创建并切换分支
git checkout -b feature-new
# 查看分支关系图
git log --graph --oneline --all
# 合并分支(在main分支执行)
git merge feature-new6. 推送远程仓库
bash
# 首次推送需建立追踪关系
git push -u origin main # -u参数设置上游分支
# 后续推送简写命令
git push
# 强制推送(慎用)
git push -f origin main # 会覆盖远程历史7. 更新本地仓库
bash
# 拉取并合并远程更新(推荐)
git pull origin main
# 仅获取不合并(更安全)
git fetch origin # 先查看变化
git merge origin/main # 手动合并进阶操作指南
冲突解决流程
bash
# 合并时出现冲突后
1. 手动编辑<<<< ==== >>>>标记的冲突文件
2. 标记已解决文件
git add conflicted_file.txt
3. 完成合并提交
git commit -m "解决分支合并冲突"版本回溯操作
bash
# 回退到指定提交(硬回退)
git reset --hard a1b2c3d
# 撤销某次提交(生成反向提交)
git revert e4f5g6h # 适用于已推送的提交临时工作保存
bash
# 暂存当前修改
git stash save "WIP: 临时保存说明"
# 恢复最近暂存内容
git stash pop安全配置建议
SSH密钥管理
bash
# 生成SSH密钥对(推荐)
ssh-keygen -t ed25519 -C "your_email@example.com"
# 将公钥添加到GitHub
cat ~/.ssh/id_ed25519.pub # 复制输出内容到GitHub设置HTTPS证书处理
bash
# 临时禁用验证(单次操作)
git -c http.sslVerify=false clone https://example.com/repo.git
# 永久禁用(仅限测试环境)
git config --global http.sslVerify false最佳实践
- 分支策略:主分支(main)仅做发布用,开发在dev分支,功能在feature分支
- 提交规范:采用Angular风格(feat: 新功能、fix: 错误修复等)
- 保护主分支:设置分支保护规则,禁止直接push
- 每日同步:开始工作前先
git pull更新代码 - 原子提交:每个提交只完成一个逻辑变更
完整命令参考:Git官方文档 | 流程学习:Learn Git Branching