Git操作指南:克隆、提交、推送与避坑大全

本文专为日常维护脚本、配置文件的开发/测试人员编写,涵盖Git安装、仓库克隆、分支切换、日常同步、代码提交、冲突解决等全流程操作。


目录

    1. 环境准备
    • 1.1 安装Git

    • 1.2 全局配置

    1. 仓库与分支说明
    1. 首次克隆已有仓库
    1. 日常更新与同步操作
    1. 常用Git命令速查
    1. 常见问题与排查指南

1. 环境准备

1.1 安装Git

Windows系统
  1. 下载Git安装包:Redirecting... (或使用国内镜像)

  2. 运行安装程序,关键配置:

    • 勾选 "Git Bash Here""Git GUI Here"

    • 选择默认编辑器(推荐Visual Studio Code)

    • 调整PATH环境变量:选择 "Git from the command line and also from 3rd-party software"

    • HTTPS传输后端:"Use the OpenSSL library"

    • 行尾转换:"Checkout Windows-style, commit Unix-style line endings"

  3. 验证安装:打开CMD或Git Bash,输入 git --version

macOS系统
复制代码
# 使用Homebrew(推荐)
brew install git

验证:git --version

Linux系统(Ubuntu示例)
复制代码
sudo apt update
sudo apt install git -y

1.2 全局配置

安装完成后必须配置用户名和邮箱:

复制代码
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

# 可选:设置默认编辑器(避免commit时卡在编辑器)
git config --global core.editor "code --wait"   # VS Code

验证配置:

复制代码
git config --global --list

2. 仓库与分支说明

项目 说明
远程仓库地址 https://your-git-server.com/your-org/your-project.git
目标分支 feature/automation(远程分支已存在)。
登录凭证 Git账号、密码
权限联系人 项目负责人

⚠️ 注意:远程仓库中已经存在目标分支及历史数据,首次操作请直接克隆,不要使用 git init 初始化空仓库


3. 首次克隆已有仓库

步骤1:克隆远程仓库

复制代码
git clone https://your-git-server.com/your-org/your-project.git

步骤2:进入项目目录

复制代码
cd your-project

步骤3:切换到目标分支

复制代码
git checkout feature/automation

如果提示 branch 'feature/automation' not found

复制代码
git checkout -b feature/automation origin/feature/automation

步骤4:验证当前分支

复制代码
git branch

当前分支前有 * 标记,应显示为 feature/automation

✅ 首次克隆完成,现在可以本地修改了。


4. 日常更新与同步操作

完整操作流程

复制代码
# 1. 进入仓库目录
cd your-project

# 2. 切换到目标分支
git checkout feature/automation

# 3. 拉取远程最新代码(重要!修改前先同步)
git pull origin feature/automation

# 4. 查看当前修改状态(可选)
git status

# 5. 添加所有修改的文件到暂存区
git add .

# 6. 提交更改
git commit -m "脚本更新:修改了XXX逻辑"

# 7. 推送到远程仓库
git push origin feature/automation

分步详解

拉取远程更改
复制代码
git pull origin feature/automation
  • 作用:将远程最新代码合并到本地

  • 建议:每天开始工作前执行一次

查看状态
复制代码
git status
  • 红色文件:已修改但未暂存

  • 绿色文件:已暂存等待提交

  • Untracked:新文件未被Git管理

添加文件到暂存区
复制代码
git add .          # 添加所有修改
git add 文件名.py   # 只添加指定文件
提交更改
复制代码
git commit -m "有意义的提交说明"

示例:

  • 修复脚本编码问题

  • 新增测试用例配置文件

  • 更新自动化逻辑

推送到远程
复制代码
git push origin feature/automation

5. 常用Git命令速查

命令 说明
git clone <url> 克隆远程仓库
git checkout <分支> 切换分支
git checkout -b <新分支> 创建并切换新分支
git pull 拉取远程更新
git add <文件> 添加到暂存区
git commit -m "说明" 提交
git push 推送到远程
git status 查看状态
git log --oneline 查看提交历史
git branch -a 查看所有分支
git diff 查看修改差异
git reset HEAD <文件> 移出暂存区
git pull --rebase 拉取并变基

6. 常见问题与排查指南

Q1:git push 报错 Permission denied

原因:未配置SSH密钥或未添加到Git平台。

解决

复制代码
ssh-keygen -t ed25519 -C "your.email@example.com"
cat ~/.ssh/id_ed25519.pub
# 将公钥添加到Git平台 → SSH Keys设置

Q2:每次 git push 都要输入密码

解决:配置凭证缓存

复制代码
git config --global credential.helper cache --timeout=3600

Q3:git commit 后卡在编辑器无法退出

原因:默认编辑器是Vim。

解决

  • Vim中输入 :wq 回车保存退出

  • 或配置编辑器:git config --global core.editor "code --wait"

Q4:git pull 提示冲突(merge conflict)

场景:远程和本地修改了同一文件的同一区域。

解决步骤

  1. git status 查看冲突文件

  2. 手动编辑文件,删除 <<<<<<< ======= >>>>>>> 标记,保留正确代码

  3. git add <冲突文件>

  4. git commit -m "解决冲突"

  5. git push

Q5:git clone 提示 repository not found

解决

  • 确认已登录Git平台

  • 检查仓库地址是否正确

  • 联系项目负责人确认权限

Q6:提交到了错误的分支怎么办?

场景 :在 master 分支提交,本应提交到 feature/automation

解决

复制代码
git checkout feature/automation
git cherry-pick master
git checkout master
git reset --hard HEAD~1
git push --all
相关推荐
千桐科技1 小时前
数字孪生泵站安全监测实战:从“事后抢修”到“预知大脑”
大数据·数字孪生·数据可视化·智慧水利
2601_950368912 小时前
稀土合金粉末采购指南:3步筛选靠谱镁钆供应商
大数据·运维·人工智能·python
兰令水2 小时前
【agent第3篇】agent上下文+面经
java·大数据·数据库
段一凡-华北理工大学2 小时前
工业领域的Hadoop架构学习~系列文章15:机器学习与大数据融合 - 工业智能的算法引擎
大数据·人工智能·hadoop·机器学习·架构·工业智能体·高炉炼铁智能化
智慧景区与市集主理人2 小时前
巨有科技:市集的 “社区化” 运营之道——从外来活动到社区生活的一部分
大数据·科技·生活
kke_883 小时前
一年12个月,小程序UV的季节性波动规律
大数据·小程序·uv
真上帝的左手3 小时前
19. 大数据- BI - AI 应用2-AI模型部署与企业落地
大数据·人工智能·ai·bi
恋喵大鲤鱼3 小时前
git status
git·git status
Herlie3 小时前
2026新品上新季:3款AI电商套图生成工具实测
大数据·人工智能