把本地 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!

相关推荐
E_ICEBLUE1 小时前
Python 控制 PDF 页面大小、页边距、页面方向与缩放
python·pdf
Polar__Star3 小时前
如何结合计划任务实现自动定时备份任务配置_全自动化运维管理
jvm·数据库·python
weixin_580614008 小时前
如何提取SQL日期中的年份_使用YEAR或EXTRACT函数
jvm·数据库·python
2301_813599558 小时前
SQL生产环境规范_数据库使用最佳实践
jvm·数据库·python
李可以量化8 小时前
QMT 量化实战:用 Python 实现线性回归通道,精准识别趋势中的支撑与压力(下)
python·qmt·量化 qmt ptrade
a9511416428 小时前
Go 中通过 channel 传递切片时的数据竞争与深拷贝解决方案
jvm·数据库·python
Dxy12393102168 小时前
Python 使用正则表达式将多个空格替换为一个空格
开发语言·python·正则表达式
qq_189807038 小时前
如何修改RAC数据库名_NID工具在集群环境下的改名步骤
jvm·数据库·python
zhangchaoxies9 小时前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
Luca_kill9 小时前
MCP数据采集革命:从传统爬虫到智能代理的技术进化
爬虫·python·ai·数据采集·mcp·webscraping·集蜂云