仓库创建与基本代码提交

从本地开始追踪一个项目到
  • 进入本地项目文件夹,初始化 Git 仓库(使用git bash)

    # 进入具体的项目文件夹 默认在c盘
    cd C:
    cd learngit/
    
    ​
    # 初始化git仓库 会生成一个.git隐藏文件夹
    # 指定默认分支为 main,和 GitHub 一致
    git init --initial-branch=main

    执行后终端提示 Initialized empty Git repository in ...,说明初始化成功。

  • 将本地所有文件添加到暂存区,完成第一次提交

    # 创建.gitignore 文件(用于忽略一些不需要追踪或上传的文件)
    touch .gitignore
    ​
    # 把文件夹里所有文件添加到 Git 暂存区(. 代表所有文件)
    git add .
    ​
    # 提交暂存区的文件到本地仓库(-m 后是提交说明,必填,写清楚这次提交的内容)
    git commit -m "first commit "

引号里可以随便写

  • 在 GitHub 上创建一个空的远程仓库

    这一步是给你的项目在 GitHub 上 “建个空文件夹”,用来接收本地代码:

    1. 打开 GitHub 官网,点击右上角「+」号 → 选择「New repository」(新建仓库);

    2. 填写仓库信息:

      • Repository name:仓库名(必须和本地项目文件夹名一致,比如 my-project,方便识别);

      • Description(可选):项目描述(比如「我的第一个 Python 项目」);

      • Visibility:选「Public」(公开)或「Private」(私有,免费版也支持);

      • ❗ 重点:不要勾选「Add a README file」「Add .gitignore」「Choose a license」(这些会导致远程仓库非空,后续推送冲突);

    3. 点击「Create repository」(创建仓库)。

    创建完成后,GitHub 会跳转到仓库页面,显示仓库的 SSH 地址(比如 git@github.com:你的用户名/my-project.git),先复制这个地址(后面要用)。

  • 关联本地仓库和 GitHub 远程仓库

    回到终端,执行命令把本地仓库和刚创建的 GitHub 仓库绑定:

    # 添加远程仓库(origin 是远程仓库的别名,默认用 origin 即可,不用改)
    # 替换成你刚复制的 GitHub SSH 地址
    git remote add origin git@github.com:Pyeako/my-project.git
    ​
    # 验证是否关联成功(可选)
    git remote -v

  • 将本地代码推送到 GitHub

    # 把本地 main 分支推送到 origin(远程仓库)的 main 分支
    # -u 是绑定默认推送分支,后续只需 git push 即可,不用重复写分支名
    git push --set-upstream origin main
  • 打开github 验证即可。

从仓库开始追踪一个项目
  • 打开github仓库,克隆仓库到本地

    # 改成具体名字
    git clone git@github.com:Pyeako/my-project.git
  • 本地修改文件并提交

    # 查看修改状态
    git status
    ​
    # 添加修改到暂存区
    git add hello.py
    ​
    # 提交修改到本地仓库
    git commit -m "添加hello.py文件"
    
    ​
    # 推送到远程仓库
    git push origin main

Git分支与版本控制

分支管理策略、合并冲突解决、提交规范

分支管理基础

分支的概念与作用

分支能让你在不影响主代码的前提下,独立开发新功能、修复 Bug,最后再把改动合并回去。

GitHub Flow 是一种轻量级的分支策略,其核心是主分支(main/master)始终处于可部署状态,所有新功能都在短期存在的功能分支上开发,完成后通过Pull Request合并回主分支。

分支的概念

假设你在写一篇论文(对应「主分支 main」):

你想加一个新章节,但又怕写砸了影响已完成的内容 → 复制一份论文,在副本上写新章节(这就是「新建分支 feature - 新章节」);

写新章节时,发现原论文有个错别字 → 切回原论文改错别字(「切回 main 分支修复 Bug」);

新章节写完且没问题 → 把副本的内容合并回原论文(「合并 feature 分支到 main 分支」)。

Git 分支的本质就是:对代码库的一份 “独立快照”,分支之间互不干扰,你可以在任意分支上修改代码,不会影响其他分支。

main 分支:A → B → C → D(稳定的主代码)
                   ↘
feature 分支:         E → F → G(开发新功能的代码)
​
merge 后分支:A → B → C → D → G
核心作用
  1. 隔离开发,避免代码混乱(最核心作用)

这是分支最根本的价值:

  • 主分支(main/master):存放稳定、可发布的代码(比如上线的产品代码),绝对不能直接在上面改代码;

  • 功能分支(feature/*):开发新功能(比如「feature - 支付功能」「feature - 用户登录」);

  • Bug 修复分支(bugfix/*/hotfix/*):修复线上 Bug(hotfix 是紧急修复,直接基于 main 分支);

  • 测试分支(test/dev):用于测试未上线的功能。

就算你在 feature 分支把代码改烂了,main 分支的稳定代码也毫发无损,不会影响团队其他人。

  1. 支持多人并行开发

团队协作时,每个人都可以在自己的分支上开发:

  • 你开发「支付功能」→ 分支 feature-pay

  • 同事开发「评论功能」→ 分支 feature-comment

  • 互不干扰,开发完成后各自合并到主分支,避免多人改同一文件导致的冲突。

常用分支介绍
分支类型 命名规范 用途
主分支 main或master 存放稳定、可发布的代码(核心分支)
开发分支 dev/或develop/ 团队日常开发的分支(所有功能先合到这)
功能分支 feature/xxx 开发单个新功能(比如 feature-login)
Bug 修复分支 bugfix/xxx 修复开发中的 Bug
紧急修复分支 hotfix/xxx 修复线上已发布版本的紧急 Bug
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐