把本地 Python 项目用 Git 进行版本控制并推送到 GitHub

这篇文章介绍怎么把本地 Python 项目用 Git 进行版本控制并推送到 GitHub

第一步:安装必要的工具

如果你还没有安装:

  1. 安装 Git:https://git-scm.com/
  2. 注册 GitHub 账号:https://github.com/

第二步:在项目目录初始化 Git

  1. 打开命令提示符或终端
  2. 进入你的项目目录:
bash 复制代码
cd D:\workplace\TSC
  1. 初始化 Git 仓库:
bash 复制代码
git init
  1. 配置全局用户名和邮箱:(替换为你的 GitHub 用户名和注册邮箱):
bash 复制代码
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"

第三步:创建 .gitignore 文件

在项目根目录创建 .gitignore 文件,内容如下:

复制代码
# Python 相关
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Jupyter Notebook
.ipynb_checkpoints/

# 数据集和大型文件(不需要版本控制)
backups/
EMNIST/
FashionMNIST/
MNIST/
matchlayersfc/

# 环境相关
.env
.venv
venv/
ENV/

# IDE
.vscode/
.idea/
*.swp
*.swo

# 系统文件
.DS_Store
Thumbs.db

第四步:添加文件到 Git

  1. 添加所有文件到暂存区:
bash 复制代码
git add .
  1. 如果你只想添加特定类型的文件,可以分别添加:
bash 复制代码
git add *.py
git add *.ipynb
git add *.md
git add data_utils.py ft_devices.py helper.py models.py

第五步:提交更改

bash 复制代码
git commit -m "初始提交:添加TSC项目文件,包括MNIST/EMNIST实验代码"

第六步:在 GitHub 创建远程仓库

  1. 登录 GitHub
  2. 点击右上角 "+" → "New repository"
  3. 填写仓库名称(如 "TSC-Project")
  4. 描述可选填
  5. 选择 Public 或 Private
  6. 不要初始化 README、.gitignore 或 license(因为本地已经有了)
  7. 点击 "Create repository"

第七步:连接本地和远程仓库

复制 GitHub 提供的命令,类似这样:

bash 复制代码
git remote add origin https://github.com/你的用户名/TSC-Project.git
git branch -M main
git push -u origin main

第八步:推送代码到 GitHub

bash 复制代码
git push -u origin main

后续开发工作流程

以后每次修改代码后,使用这个流程:

  1. 查看更改状态:
bash 复制代码
git status
  1. 添加修改的文件:
bash 复制代码
git add .
# 或者添加特定文件
git add 文件名.py
  1. 提交更改:
bash 复制代码
git commit -m "描述你的修改内容"
  1. 推送到远程:
bash 复制代码
git push

重要提醒

  1. 不要将大型数据集上传到 Git(已经在 .gitignore 中排除了)
  2. 定期提交,保持提交信息的清晰
  3. 如果有多人协作,记得先 git pull 再开始工作
  4. 重要的模型文件或大型文件考虑使用 Git LFS

这样你的项目就在 Git 版本控制下了,并且同步到了 GitHub!

相关推荐
Salt_07281 小时前
DAY 19 数组的常见操作和形状
人工智能·python·机器学习
无心水1 小时前
【Python实战进阶】2、Jupyter Notebook终极指南:为什么说不会Jupyter就等于不会Python?
python·jupyter·信息可视化·binder·google colab·python实战进阶·python工程化实战进阶
徐小夕2 小时前
耗时一周,我把可视化+零代码+AI融入到了CRM系统,使用体验超酷!
javascript·vue.js·github
逛逛GitHub2 小时前
5 个 AI 操纵手机的 GitHub 项目,太强了
github
上班日常摸鱼2 小时前
Shell脚本基础教程:变量、条件判断、循环、函数实战(附案例)
python
无心水3 小时前
【Python实战进阶】5、Python字符串终极指南:从基础到高性能处理的完整秘籍
开发语言·网络·python·字符串·unicode·python实战进阶·python工业化实战进阶
2301_807583233 小时前
了解python,并编写第一个程序,常见的bug
linux·python
小白学大数据3 小时前
构建混合爬虫:何时使用Requests,何时切换至Selenium处理请求头?
爬虫·python·selenium·测试工具
2401_827560203 小时前
【Python脚本系列】PyAudio+librosa+dtw库录制、识别音频并实现点击(四)
python·语音识别
BBB努力学习程序设计3 小时前
Python自动化脚本:告别重复劳动
python·pycharm