两台电脑使用github+pycharm同步开发


两台电脑使用github+pycharm同步开发

本文介绍如何在两台电脑之间通过 GitHub 和 PyCharm 实现项目的同步开发。


一、准备工作

1. 在两台电脑上安装必要工具

  • Git:下载并安装 Git
  • PyCharm:下载并安装 PyCharm
  • GitHub 账号:确保已经注册并拥有 GitHub 账号。

2. 配置 Git 环境

在两台电脑上分别配置 Git:

  1. 设置用户名和邮箱

    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱"
  2. 生成 SSH 密钥

    ssh-keygen -t ed25519 -C "你的邮箱"
    • 按提示生成密钥(存储在 ~/.ssh/id_ed25519)。

    • 使用以下命令查看并复制公钥内容:

      cat ~/.ssh/id_ed25519.pub
    • 登录 GitHub,进入 Settings > SSH and GPG keys,点击 New SSH key,将公钥粘贴并保存。

  3. 测试连接

    ssh -T git@github.com

    如果返回:

    Hi <你的用户名>! You've successfully authenticated, but GitHub does not provide shell access.

    表示配置成功。


二、创建远程仓库并上传项目

1. 创建远程仓库

  1. 登录 GitHub,点击右上角的 + > New repository
  2. 填写仓库名称(例如 my_project),选择 PublicPrivate,然后点击 Create repository

2. 将本地项目上传到远程仓库

在已存在的项目目录中初始化 Git,并推送到远程仓库:

cd /path/to/your/project
git init  # 初始化
git add .  # 提交所有文件到暂存区
git commit -m "Initial commit"  # 提交到当前分支
git branch -M main # 将当前分支重命名为main,github默认分支为main
git remote add origin git@github.com:<你的用户名>/my_project.git  # 绑定远程仓库
git push -u origin main # 将 main 分支推送到远程仓库,并建立本地与远程分支的关联,添加 -u 参数后,本地的 main 分支会与远程的 main 分支关联起来。这样,后续执行 git pull 或 git push 时,不需要再指定分支名称

三、在两台电脑上同步项目

电脑 A 操作

  1. 克隆远程仓库: 如果电脑 A 尚未有项目代码:

    git clone git@github.com:<你的用户名>/my_project.git
    cd my_project

    如果电脑 A 已有代码并已推送到远程仓库,则跳过此步骤。

  2. 用 PyCharm 打开项目

    • 打开 PyCharm,点击 File > Open,选择项目目录。

电脑 B 操作

  1. 克隆远程仓库: 在电脑 B 的终端中运行:

    git clone git@github.com:<你的用户名>/my_project.git
    cd my_project
  2. 用 PyCharm 打开项目

    • 打开 PyCharm,点击 File > Open,选择项目目录。

四、日常开发流程

1. 在电脑 A 或 B 上修改代码

  1. 使用 PyCharm 编辑代码。

  2. 在终端或 PyCharm 的 Git 工具窗口中提交更改:

    git add .
    git commit -m "描述本次更改的内容"
    git push

2. 在另一台电脑同步代码

在另一台电脑上拉取最新代码:

git pull origin main

然后继续开发。


五、解决冲突

如果两台电脑同时修改了同一个文件并提交,可能会出现冲突。解决方法如下:

  1. 拉取代码时提示冲突

    git pull origin main

    Git 会提示冲突的文件。

  2. 手动解决冲突: 打开冲突文件,按照以下格式解决冲突:

    <<<<<<< HEAD
    你的修改
    =======
    另一台电脑的修改
    >>>>>>> commit-hash

    修改为期望的代码并保存。

  3. 标记冲突已解决并提交

    git add .
    git commit -m "解决冲突"
    git push

六、PyCharm 中内置 Git 工具的使用

  1. 提交代码
    • 在 PyCharm 界面右上角,点击 Commit
    • 勾选修改的文件,填写提交信息,然后点击 CommitCommit and Push
  2. 拉取代码
    • 点击 Git > Pull,选择远程分支,点击 OK
  3. 查看分支和日志
    • 点击 Git > Log,查看提交历史和分支结构。

七、注意事项

  1. 保持代码同步:每次在另一台电脑开发前,先执行 git pull 拉取最新代码。
  2. 频繁提交:尽量将每次修改后的小更新提交到远程仓库,避免产生冲突。
  3. 多人协作时注意分支管理:可以为不同功能创建分支,完成后再合并到主分支。

八、分支管理

当开发新功能或进行实验时,可以使用分支来避免影响主分支。

1. 创建和切换分支

  • 创建新分支:

    git branch feature-branch
  • 切换到新分支:

    git checkout feature-branch

    或直接创建并切换:

    git checkout -b feature-branch

2. 合并分支

  • 切换到主分支:

    git checkout main
  • 合并新功能分支:

    git merge feature-branch

3. 删除分支

  • 删除本地分支:

    git branch -d feature-branch
  • 删除远程分支:

    git push origin --delete feature-branch

九、处理多人协作的冲突

如果你在两台电脑之外,还与其他人协作开发,可以通过以下方式优化工作流。

1. 定期拉取最新代码

在本地开发前,确保代码是最新的:

git pull origin main

2. 使用 rebase 整理提交历史

在同步远程分支时,你可以选择 rebase 方式,使提交历史更加整洁:

git pull --rebase origin main

3. 使用标签管理版本

当一个功能开发完成后,可以添加一个标签:

git tag -a v1.0 -m "Version 1.0 release"
git push origin v1.0

十、PyCharm 的一些高级 Git 功能

1. 可视化查看分支

  • 在 PyCharm 界面右下角,点击 Git 分支名称,可以查看和切换分支。
  • 打开 Git > Log,可以看到分支结构图和提交历史。

2. 解决冲突

当拉取代码遇到冲突时,PyCharm 提供了图形化工具:

  1. 点击 Merge Conflicts 提示框。
  2. 使用 PyCharm 的三栏界面,直观地合并冲突。
  3. 合并完成后,保存并提交。

3. 使用变基(Rebase)

  • 在 PyCharm 中,选择 VCS > Git > Rebase,可以直观地重新整理提交。

十一、优化开发体验

1. 配置 .gitignore

避免将不必要的文件推送到远程仓库。比如 Python 项目常用的 .gitignore 文件:

__pycache__/
*.pyc
*.pyo
*.log
.idea/
.vscode/
.DS_Store

.gitignore 文件添加到项目根目录,然后提交:

git add .gitignore
git commit -m "Add .gitignore"
git push

2. 提高拉取速度

如果仓库较大,可以通过浅克隆(仅克隆最近的提交历史)加快速度:

git clone --depth 1 git@github.com:<你的用户名>/my_project.git

3. 使用 SSH 配置多个远程地址

如果有多个远程仓库,可以配置多个 remote 地址:

git remote add backup git@github.com:<你的用户名>/my_project_backup.git

十二、代码评审(Code Review)和协作工具

如果需要团队协作,可以用 GitHub 的 Pull Request 功能:

  1. 创建一个新分支进行开发。

  2. 推送分支到远程:

    git push -u origin feature-branch
  3. 在 GitHub 上发起 **Pull Request (PR)**,让团队成员进行代码审查。

  4. 审查通过后,合并分支。


十三、备份与恢复操作

1. 创建仓库副本(Fork)

  • 如果你想备份项目或创建自己的分支,可以直接在 GitHub 上点击 Fork

2. 恢复代码

  • 如果需要回滚到某次提交:

    git reset --hard <commit-id>
  • 查看历史提交记录:

    git log

十四、自动化工作流

1. 使用 GitHub Actions 自动化任务

你可以在 GitHub 上配置 GitHub Actions,实现以下功能:

  • 自动运行测试代码。
  • 部署代码到服务器。

示例 .github/workflows/main.yml 文件:

name: CI/CD Pipeline

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.8'

      - name: Install dependencies
        run: pip install -r requirements.txt

      - name: Run tests
        run: pytest

2. 使用 PyCharm 的任务管理

  • 在 PyCharm 中配置 Tasks & Contexts,跟踪开发任务和环境状态。

文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
评论
  目录