当前位置: 首页 > article >正文

使用 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 clonegit pull 的区别

git clone

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

git pull

  • 用于从一个已经存在的本地仓库对应的远程仓库中获取最新的提交,并将这些提交合并到当前所在的本地分支中。
  • 它实际上是git fetchgit merge两个操作的组合。git fetch从远程仓库获取新的提交,而git merge将这些提交合并到当前分支。

使用 github 在本地新建一个仓库,并上传到远程

进入本地工作文件夹,新建一个 readme 文件:

echo "# Title" >> README.md

初始化本地仓库:

git init

readme 文件添加到暂存区:

git add README.md

提交到本地仓库:

git commit -m "first commit"

将当前分支名称重命名为 main(避免分支名称冲突):

git branch -M main

将本地仓库绑定到远程仓库:

git remote add origin [URL]

推送更改到远程仓库:

git push -u origin main

检测是否能与 Github 连接

因为一些原因,可能需要额外的手段来连接 github 服务器,要查看本地网络是否能够顺利连接到 github,给出以下几种参考方法:

1. ping 命令

ping github.com

如果连接顺利,则返回:

注意:有时 GitHub 可能会禁用 ping 响应,导致 ping 请求超时。即使 ping 失败,其他方法也可以进一步确认。

2. 可以使用 curlwget 命令来测试与 GitHub 的 HTTPS 连接。

curl -I https://github.com
wget --spider https://github.com

如果连接顺利,返回 HTTP 状态码(HTTP/1.1 200 OK

3. 使用 ssh 测试 GitHub 的 SSH 连接(需要提前配置 SSH 密钥)

ssh -T git@github.com

如果连接顺利,返回:


http://www.kler.cn/a/379624.html

相关文章:

  • 云轴科技ZStack在CID大会上分享VF网卡热迁移技术
  • 为什么要使用Docker?
  • Android 使用ninja加速编译的方法
  • 《JVM第4课》程序计数器
  • 面试题:JVM(二)
  • [ 应急响应靶场实战 ] VMware 搭建win server 2012应急响应靶机 攻击者获取服务器权限上传恶意病毒 防守方人员应急响应并溯源
  • Vue中props和data的优先级哪个更高?
  • 联丰策略股票交易市场上周五股票ETF市场紫金净流入68亿元
  • 通过自定义指令实现图片懒加载
  • 在VScode中配置C_C++环境
  • 使用nvm切换node版本失败
  • Python 一维列表基础语法
  • LM Head weights;ChatGPT-3词汇量:175,000;llama7b 词汇量,词嵌入维度:4096
  • 【LeetCode】移除链表中等于设定值的元素、反转链表
  • 创维E900-S_华为EC6108V9_v9u_海思hi3798mv100华为系统优盘刷机固件包
  • CesiumJS 案例 P20:监听鼠标滚轮、监听鼠标左键按下与松开、监听鼠标右键按下与松开、监听鼠标左击落点
  • Linux:线程安全的单例模式
  • 进程的概念
  • Vue学习之路16----pinia
  • 家具产品的耐用性新标准,矫平机为家具制造提供新保障
  • SQL中`ORDER BY`、`SORT BY`、`DISTRIBUTE BY`、`GROUP BY`、`CLUSTER BY`的区别详解
  • 什么是严肃游戏,严肃游戏本地化的特点是什么?
  • 【C语言刷力扣】3216.交换后字典序最小的字符串
  • 第十五章 Vue工程化开发及Vue CLI脚手架
  • 贪心算法理论基础和习题【算法学习day.17】
  • Python代码解析:问题分类器实现