CS50作业提交:如何将单个.py文件推送到Git指定分支?
解决CS50作业提交问题
一、修复submit50的ModuleNotFoundError: No module named 'termios'错误
termios是Unix/Linux系统专属的Python模块,Windows环境的Git Bash运行Python时会缺失该模块,可按以下方式解决:
- 使用WSL(Windows Subsystem for Linux)执行提交:在WSL环境下安装Python和submit50,再运行命令
submit50 ai50/projects/2020/x/knights,WSL基于Linux,自带termios模块,能正常运行submit50。 - (不推荐新手)修改submit50源码:找到submit50安装目录中调用termios的代码文件,将相关逻辑替换为Windows兼容的
msvcrt模块实现,操作复杂度较高。
二、Git仅推送单个.py文件到指定分支
无需推送整个仓库,按以下步骤精准提交目标文件:
- 创建并切换到要求的分支
git checkout -b ai50/projects/2020/x/knights - 仅添加目标.py文件到暂存区(替换
your-file.py为实际文件名)
注意:不要使用git add your-file.pygit add .,避免添加仓库内所有文件 - 提交改动
git commit -m "Submit CS50 knights project" - 关联远程仓库并推送(替换
USERNAME为你的GitHub用户名)
若之前已关联过该远程仓库,直接执行git remote add cs50-submit https://github.com/me50/USERNAME.git git push cs50-submit ai50/projects/2020/x/knightsgit push origin ai50/projects/2020/x/knights(远程仓库名为origin时)。
内容的提问来源于stack exchange,提问作者Bruno Ramos Martins
相关产品推荐
相关产品推荐

