使用 Github 进行项目管理

GitHub 是一个广泛使用的代码托管和协作平台,它提供了强大的工具来支持项目管理和团队协作。在项目开发和工作中,避免不了 Github 的使用,然鹅我一直没有稍微系统地学习过 github 的整个工作流程,对这些操作都是一知半解的,所以今天就好好入门一下 github。

推荐一个非常好用的 Git 入门网站:Learn Git Branching

基础概念

仓库

  • 仓库(Repository):在 GitHub 上创建一个新的仓库,用于存放项目代码和相关资源。仓库可以设置为公开或私有状态。

分支

  • 主分支(main/master):稳定的代码分支,用于存放已发布或准备发布的代码。
  • 开发分支(develop):用于集成各个功能的开发分支,团队成员在此分支上进行合并。
  • 功能分支(feature) :每个新功能或任务创建一个独立的功能分支,例如 feature/login。
  • 修复分支(hotfix):用于紧急修复生产环境中的问题。

工作流程

配置 Git 用户信息

在初次使用 Git 之前,需要设置用户名和邮箱

复制代码
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

查看配置:

复制代码
git config --list

克隆(Clone)GitHub 仓库

首先,需要将远程的 GitHub 仓库克隆到本地计算机

复制代码
git clone [仓库URL]

创建新分支(Branch)进行开发

为了保持主分支的稳定性,通常在新的分支(Branch)上进行开发

复制代码
// 用于从远程仓库(名为 "origin")获取最新的提交和分支信息
git fetch origin

// 从名为 "origin" 的远程仓库中拉取 "main" 分支的最新更改,并将其合并到当前所在的本地分支
git pull origin main  # 或者 master,根据主分支名称

origin 是默认的远程仓库名称

创建并切换到新分支: 新分支的名称为 feature/your-feature-name

复制代码
git checkout -b [feature/your-feature-name]

在新分支上进行代码的添加、修改或删除。

忽略更改

在本地仓库中,可能有一些文件是不需要合并到远程仓库中的(比如调试时生成的日志文件),可以通过.gitignore 文件来忽略不需要追踪更改的文件。

提交(Commit)更改

查看更改状态:

复制代码
// 用于显示当前工作目录和暂存区的状态
git status

添加更改到暂存区(Stage):

复制代码
git add .						// 添加所有更改

git add [filename]	// 添加特定文件

提交更改:

复制代码
git commit -m "简要描述您的更改"

或者:

复制代码
git commit

# 然后在文本编辑器中输入
"""
简短的标题(50 字符以内)

详细描述您的更改,说明原因和实现方式。
"""

推送(Push)分支到 GitHub

将本地分支推送到远程仓库,以便其他人可以访问更改。

推送分支到远程仓库:

复制代码
git push origin [feature/your-feature-name]

// 用于将本地创建的新分支推送到远程仓库,并在远程仓库中创建相应的分支,同时设置本地分支跟踪远程分支
git push --set-upstream origin [feature/your-feature-name]

在 GitHub 上创建 Pull Request(PR)

提交更改请求,以便代码审查和合并。

代码审查(Code Review)和合并(Merge)

在 Pull Request 创建后,团队成员可以对代码进行审查

更新本地仓库

在合并完成后,确保本地仓库与远程仓库保持同步。

切换到主分支:

复制代码
git checkout main  # 或者 master

拉取最新更改:

复制代码
git pull origin main

删除本地已合并的分支(可选):

复制代码
git branch -d [feature/your-feature-name]

git clone 和 git pull 的区别

git clone:

  • 用于从一个远程仓库完整地复制一个项目到本地。它会创建一个新的本地目录,并将远程仓库的所有分支、提交历史等内容都复制到这个本地目录中。

git pull:

  • 用于从一个已经存在的本地仓库对应的远程仓库中获取最新的提交,并将这些提交合并到当前所在的本地分支中。
  • 它实际上是git fetch和git merge两个操作的组合。git fetch从远程仓库获取新的提交,而git merge将这些提交合并到当前分支。
相关推荐
GoGeekBaird3 小时前
别再给每个 AI 做自我介绍了:我做了一个「个人上下文」管理系统
后端·github·agent
莫晓燚4 小时前
Ansible 13 个常用模块---企业实战
git·github
程序员柒叔6 小时前
Diagram Design 解构:45 种图型如何用语义路由与 SVG 质量门交付
人工智能·github·agent·skills
逛逛GitHub6 小时前
9 个神级 GitHub 项目助你蹭上抖音、小红书 Vibe 知识大赏热点。
github
m4Rk_6 小时前
【论文阅读】Agent 记忆机制(119):EvoLife——让具身 Agent 把主动问到的答案沉淀为可复用的空间经验
论文阅读·人工智能·学习·开源·github
后台模板学习9 小时前
GitHub Actions 与 Jenkins 在日志监
运维·github·jenkins
miofly9 小时前
GitHub 今日推荐|auto-ontology:给 Agent 装上企业数据的语义索引
python·开源·github
miofly12 小时前
GitHub 日榜趋势速报 | 2026-11-04
开源·github
钱栈up20 小时前
GitHub 热榜上手|Orca:让多个编码 Agent 并排跑
github
wflynn1 天前
GitHub 日榜趋势速报 | 2026-11-02
开源·github