Skip to content

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 --list

3. 远程仓库关联

bash
# 添加远程仓库(首次需执行)
git remote add origin git@github.com:user/repo.git

# 验证远程连接
git remote -v

4. 提交本地变更

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-new

6. 推送远程仓库

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

最佳实践

  1. 分支策略:主分支(main)仅做发布用,开发在dev分支,功能在feature分支
  2. 提交规范:采用Angular风格(feat: 新功能、fix: 错误修复等)
  3. 保护主分支:设置分支保护规则,禁止直接push
  4. 每日同步:开始工作前先git pull更新代码
  5. 原子提交:每个提交只完成一个逻辑变更

完整命令参考:Git官方文档 | 流程学习:Learn Git Branching