简介这份PDF图文教程面向Python开发者与需要协同开发的团队成员聚焦在PyCharm中配置并使用Git这一常见痛点帮助读者在IDE内完成版本控制操作免去频繁切换命令行的麻烦。资源包共1个PDF文件大小约257KB内容以图文并茂的方式呈现便于对照操作与快速查阅。教程覆盖Git客户端安装、在Default Settings中指定git.exe路径、克隆远程仓库、查看文件版本差异以及创建与切换分支等环节其中差异对比用蓝、红、黄三色区分新增、删除与修改分支创建可自动复制当前分支文件省去手动建目录的繁琐。目前已有6730人学习下载适合刚接触Git或希望把版本管理流程搬进PyCharm的开发者参考也可作为团队协作规范的入门材料。1. PyCharm 配置 Git从「改了代码不敢乱动」到「每一步都有后悔药」很多人第一次在 PyCharm 里点开 Version Control 面板时心里其实是发虚的命令行里敲git status能看懂但一进 IDE 就不知道哪个按钮对应哪条命令生怕点错把本地改动冲掉。这个标题要解决的正是「PyCharm 和 Git 怎么接上、接上之后怎么用」这件事——不是教你 Git 原理而是让你在图形界面里把日常的提交、分支、回滚、推送跑通并且知道每个操作背后到底执行了什么。它适合两类人一类是刚装完 PyCharm 和 Git、准备把第一个项目纳入版本控制的新手另一类是平时靠命令行、但想借 IDE 的可视化 diff 和冲突解决提效的老手。核心诉求就三个环境能识别、操作能复现、出错能回退。下面按「先装好、再配通、后避坑」的顺序拆开讲每一步都给出可抄的配置和命令。2. 装 Git 与 PyCharm版本、路径和第一次自检2.1 先确认 Git 装在哪、能不能被 PyCharm 找到PyCharm 本身不带 Git它只是调用系统里已经装好的 Git 可执行文件。所以第一步不是打开 PyCharm而是先把 Git 装好并验证。Windows 上从 Git 官网下载安装包安装时有一个关键选项Adjusting your PATH environment建议选第二项「Git from the command line and also from 3rd-party software」这样git命令才能被 PyCharm 直接调用。如果选了第一项「Use Git from Git Bash only」PyCharm 大概率找不到 Git后面配置会卡住。装完之后打开终端Windows 用 PowerShell 或 CMDmacOS/Linux 用自带终端执行git --version # 预期输出类似git version 2.4x.x.windows.1如果提示command not found或不是内部或外部命令说明 PATH 没配好。Windows 可以重新运行安装包选 Modify 改 PATH或者手动把Git\cmd目录加进系统环境变量。macOS 如果没装过终端会提示你安装 Command Line Tools跟着走即可。提示不要用 PyCharm 内置的「Download and Install」去装 Git那个入口在部分版本里已经移除或指向不稳定源自己装完再指路径最稳。2.2 PyCharm 里指定 Git 路径并做连通性自检打开 PyCharm进入File → Settings → Version Control → GitmacOS 是PyCharm → Preferences → Version Control → Git。在Path to Git executable一栏正常情况下 PyCharm 会自动探测到路径比如 Windows 是C:\Program Files\Git\cmd\git.exemacOS 是/usr/bin/git或/usr/local/bin/git。如果这一栏是空的或者显示红色报错点右侧文件夹图标手动选到git.exeWindows或gitmacOS/Linux。选好后点旁边的Test按钮。成功会弹出一个显示 Git 版本号的窗口失败则多半是路径选错或权限问题。这一步是整个配置的地基Test 不过后面所有操作都是空中楼阁。# 如果 Test 一直失败可以在终端手动验证这个路径是否可执行 C:\Program Files\Git\cmd\git.exe --version # macOS/Linux /usr/bin/git --version参数说明--version只做一件事——确认这个二进制能被调用。如果终端能跑通、PyCharm 里 Test 失败通常是 PyCharm 没重启或者路径里有空格没转义重启 IDE 再试。2.3 配置全局身份没有 user.name 连提交都做不了Git 每次提交都要记录作者信息如果没配第一次 commit 会直接报错。在终端执行git config --global user.name 你的名字 git config --global user.email 你的邮箱 # 验证 git config --global --list这里--global表示对当前用户所有仓库生效。如果你在公司项目和私人项目要用不同邮箱可以进到具体仓库目录后去掉--global单独配。邮箱建议和你代码托管平台的账号一致否则提交记录里可能认不出是你。注意user.name和user.email写错不会导致提交失败但会让历史记录里的作者信息混乱后期改起来要用git rebase重写历史属于典型的「当时省一秒、事后补一天」。第一次配就配对。3. 把项目接进版本控制初始化、关联远程与首次提交3.1 新项目初始化PyCharm 的 VCS 菜单到底做了什么假设你有一个已经写好的 Python 项目目录里还没有.git。在 PyCharm 顶部菜单点VCS → Enable Version Control Integration弹窗里选Git确定。这个动作等价于在项目根目录执行git initPyCharm 会在后台帮你建好.git目录并把项目根标记为仓库根。如果你想确认它到底干了什么打开 PyCharm 底部的 Terminal快捷键 AltF12执行git status # 会列出所有未跟踪文件说明仓库已初始化成功此时 PyCharm 左侧 Project 面板里的文件名会变成红色代表「未跟踪Untracked」。红色不是报错是 Git 在提醒你这些文件还没纳入管理。3.2 配置 .gitignore别把虚拟环境和缓存提交上去在提交之前必须先建.gitignore否则venv/、__pycache__/、.idea/这些会被一股脑塞进仓库仓库体积暴涨还容易引发冲突。在项目根目录新建.gitignore文件内容如下# Python __pycache__/ *.py[cod] *.egg-info/ .venv/ venv/ env/ # PyCharm .idea/ *.iml # 环境与密钥 .env *.log逻辑说明__pycache__/和*.py[cod]是 Python 编译缓存每次运行都会变提交毫无意义.venv/、venv/是虚拟环境体积大且和机器绑定.idea/是 PyCharm 的项目配置团队里各人配置不同提交后天天冲突.env常放密钥绝对不能进仓库。参数说明*匹配任意字符/结尾表示目录[cod]是字符集匹配 c、o、d 三种扩展名。写完后如果发现某个已跟踪文件想忽略光加进.gitignore不够还要git rm --cached 文件名把它从索引里移除。3.3 首次提交与关联远程仓库回到 PyCharm右键项目根目录选Git → Add或者直接CtrlKmacOS 是 CmdK打开提交窗口。左侧会列出所有变更文件勾选你要提交的填写 Commit Message比如「init: 项目初始化」点 Commit。这一步对应git add . git commit -m init: 项目初始化提交完成后如果要把代码推到远程GitHub、GitLab、Gitee 等先在平台上建好空仓库拿到地址然后在 PyCharm 里Git → Manage Remotes添加名字一般叫originURL 填仓库地址。接着Git → Push第一次会要求你输入平台账号密码或 Token。# 命令行等价操作 git remote add origin 仓库地址 git push -u origin main参数说明-u把本地main分支和远程origin/main建立追踪关系之后直接git push就行不用每次写全。如果远程默认分支叫master把main换成master。推送时如果报failed to push some refs多半是远程仓库建的时候勾了 README先git pull --rebase origin main再推。4. 日常操作在 PyCharm 里怎么点提交、分支、合并与回滚4.1 提交面板的四个区域与部分提交技巧CtrlK打开的 Commit 窗口分四块文件列表、Diff 预览、Commit Message、提交按钮。文件列表里每个文件前的复选框决定这次提交包含哪些文件这就是「部分提交」——你可以只提交改好的两个文件把还在调试的第三个文件留在工作区。Diff 预览区左边是旧版本右边是新版本绿色是新增、灰色是删除、蓝色是修改。一个高频技巧如果某个文件里只有部分代码想提交可以在 Diff 区选中具体行右键Add to Commit只暂存这几行。这背后是git add -p的图形化版本适合「一个文件里混了两件事」的场景。提示Commit Message 别写「update」「fix」这种。写清楚「做了什么、为什么」比如「fix: 修复登录接口空指针」。半年后回来看历史你会感谢自己。4.2 分支的创建、切换与合并右下角那个小标签PyCharm 右下角状态栏有一个显示当前分支名的小标签点开就是分支管理菜单。New Branch创建新分支输入名字建议用feature/xxx、fix/xxx这种带前缀的命名勾选Checkout branch创建后直接切过去。切换分支就是点开列表选另一个分支PyCharm 会自动更新工作区文件。合并时先切到目标分支比如main再点开分支菜单选Merge into Current选中要合进来的分支。如果两个分支改的是不同文件合并会静默完成如果改了同一处就会弹出冲突解决窗口。# 命令行等价 git checkout -b feature/login git checkout main git merge feature/login参数说明checkout -b是创建并切换merge是把指定分支合并进当前分支。合并前建议先git pull更新目标分支减少冲突概率。4.3 冲突解决三栏窗口里到底该留哪边冲突发生时PyCharm 会弹出一个三栏对比窗口左边是当前分支版本右边是合进来的分支版本中间是合并结果。冲突区域会用、、标记。你要做的是在中间栏手动编辑成最终想要的样子然后点Apply。如果拿不准可以点每栏上方的箭头把左边或右边的整块内容采纳到中间。处理完所有冲突标记后git add标记为已解决再 commit 完成合并。常见的翻车点是直接关掉冲突窗口以为没事了结果文件里残留标记代码直接跑不起来。合并没完成前git status会一直显示Unmerged paths看到这个就说明还有冲突没处理。4.4 回滚的三种粒度改错了到底该用哪个PyCharm 的Git → Rollback和Local History是两套不同机制很多人分不清。Rollback是 Git 层面的把未提交的改动丢弃对应git checkout -- 文件名不可恢复。Local History是 PyCharm 自己记录的即使没提交也能找回右键文件Local History → Show History就能看到每次保存的快照。已经提交了想撤销分情况想撤销最近一次提交但保留改动用git reset --soft HEAD~1想连改动一起丢用git reset --hard HEAD~1危险已经推到远程了用git revert生成一个反向提交别用 reset 去改公共历史。git reset --soft HEAD~1 # 撤销提交改动回到暂存区 git reset --hard HEAD~1 # 撤销提交并丢弃改动慎用 git revert commit-id # 生成反向提交安全参数说明HEAD~1表示当前提交的前一个--soft保留改动--hard全丢。团队协作里已经推送的提交一律用revert用reset强推会让别人的本地历史对不上属于血泪经验。5. 避坑与排查配置 Git 时最容易翻车的五件事5.1 现象PyCharm 里 Git 菜单全是灰的点不动原因项目根目录没有.git或者 PyCharm 没把这个目录识别为仓库根。常见于你打开的是子目录而不是项目根或者.git被误删。解决确认项目根有.git目录隐藏文件需要开启显示。没有就VCS → Enable Version Control Integration重新初始化。如果.git在但菜单还是灰的File → Invalidate Caches → Invalidate and Restart清缓存重启。5.2 现象提交时报Please tell me who you are原因user.name和user.email没配或者配在了错误的层级比如配在某个仓库里换仓库就失效。解决执行git config --global user.name和git config --global user.email补上然后git config --global --list确认。如果之前提交过历史里的作者信息不会自动改需要的话用git commit --amend --reset-author修正最近一次。5.3 现象推送报fatal: not a git repository原因当前终端或 PyCharm 的工作目录不在仓库内或者.git目录损坏。热词里fatal: not a git repository (or any of the parent directories): .git就是这条。解决cd到项目根目录再执行命令。PyCharm 里确认 Terminal 的起始目录是项目根Settings → Tools → Terminal → Start directory。如果.git损坏从远程重新git clone一份最省事。5.4 现象SSH 推送报认证失败HTTPS 却正常原因SSH 公钥没加到代码托管平台或者本地~/.ssh下的密钥和平台记录的不匹配。热词里的ssh认证失败 git多指这个。解决ssh-keygen -t ed25519 -C 你的邮箱生成密钥把~/.ssh/id_ed25519.pub内容复制到平台的 SSH Keys 设置里。然后用ssh -T git平台域名测试连通性。嫌麻烦就改用 HTTPS TokenPyCharm 会帮你记住凭据。5.5 现象合并后代码里残留程序直接报语法错误原因冲突没处理完就关了窗口或者手动编辑时漏删了标记行。解决全局搜索把所有冲突标记清理干净编辑成最终代码git add后再 commit。预防办法是合并前先git pull更新减少冲突面冲突多的时候一个一个文件处理别贪快。6. 进阶技巧用 PyCharm 的 Git 工具把「后悔药」备足配置跑通之后真正拉开效率差距的是几个进阶用法。第一个是Annotate blame右键文件选Git → Annotate每一行左边会显示最后修改它的提交和作者点一下就能看到那次提交的完整 diff。排查「这行代码谁改的、为什么改」时比翻提交历史快得多。第二个是Shelve Changes当你改了一半突然要切分支修个紧急 bug又不想提交半成品Git → Shelve Changes能把当前改动暂存起来工作区变干净切回来再Unshelve。它比git stash好在能选择性 shelve 部分文件并且有名字好管理。第三个是Interactive Rebase在 Git 日志面板Git → Show Git Log里选中最近几个提交右键Interactively Rebase from Here可以合并、重排、改写提交信息。整理提交历史、把「fix typo」这种碎提交合并成一个时特别有用。但记住一条铁律只对还没推送的本地提交做 rebase推过的提交重写历史会坑到协作者。# 命令行等价合并最近 3 个提交 git rebase -i HEAD~3 # 编辑器里把后两行的 pick 改成 squash保存后合并提交信息参数说明HEAD~3表示从当前往前数 3 个提交pick保留、squash合并到上一个、reword只改信息、drop删除。改完保存退出Git 会按你的指令重放提交。最后一个习惯每次动手前先git status看一眼当前状态提交前先git diff确认改了什么。我自己的教训是有次赶时间直接git reset --hard把一上午没提交的改动全清了PyCharm 的 Local History 虽然救回来一部分但有些新建文件没进过历史彻底没了。从那以后我养成了「改完先提交到临时分支、再整理」的习惯宁可多一次提交也不给自己留没有后悔药的时刻。希望帮到你。本文还有配套的精品资源点击获取