上位机知识篇---Git&GitHub


文章目录


前言

以上就是今天要讲的内容,本文仅仅简单介绍了Git和GitHub的区别于用法。


Git&GitHub是什么?

Git

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git易于学习,占地面积小,性能极快。它具有廉价的本地分支、方便的暂存区域和多个工作流等功能。

GitHub

GitHub是一个基于Git的在线托管平台 ,它提供了Git的所有功能,并添加了一些自己的特性,如Issue跟踪、Pull Request工作流、代码审查、项目管理等。GitHub为开源项目提供了一个集中的地方来托管代码和协作。

Git和GitHub的区别

定位

Git:版本控制系统,用于跟踪文件的更改和协助多人协作

GitHub:基于Git的在线托管服务,提供额外的协作特性。

功能

Git:本地操作 ,包括提交、分支、合并、回滚等。

GitHub:提供远程仓库托管、社交网络功能、代码审查、项目管理等。

使用方式

Git:通过命令行图形界面工具 在本地计算机上使用。

GitHub:通过Web界面Git命令行与远程仓库交互。

开源协作

Git:是开源的 ,但本身不提供开源项目的托管和协作平台。

GitHub:鼓励开源项目托管,是许多开源项目的聚集地

Git常用命令操作

1. 配置

bash 复制代码
git config --global user.name "Your Name":配置用户名。
git config --global user.email "[email protected]":配置邮箱。

2. 仓库操作

bash 复制代码
git init:初始化一个新的Git仓库。
git clone [url]:克隆一个远程仓库到本地。

3. 文件操作

bash 复制代码
git add [file]:将文件更改添加到暂存区。
git status:查看当前仓库的状态。
git commit -m "Commit message":提交更改。

4. 分支与合并

bash 复制代码
git branch:列出所有本地分支。
git branch [branch-name]:创建一个新的分支。
git checkout [branch-name]:切换到指定分支。
git merge [branch]:将指定分支合并到当前分支。

5.远程操作

bash 复制代码
git remote add [shortname] [url]:添加一个新的远程仓库。
git push [remote] [branch]:上传本地分支到远程仓库。
git pull [remote] [branch]:从远程仓库下载分支并与本地分支合并。

6.撤销更改

git reset [commit]:回滚到指定的提交。

git revert [commit]:创建一个新的提交来撤销指定提交的更改。

7.查看历史

git log:查看提交历史。

git diff:查看文件差异。

GitHub常用操作

1.创建仓库

在GitHub上点击**"New repository"**按钮,填写信息创建新仓库。

2.Fork仓库

在GitHub页面上,点击仓库页面的**"Fork"**按钮,将项目复制到自己的账户下。

3.Pull Request

在自己的GitHub账户上,对Fork的仓库进行更改后,可以发起Pull Request向原仓库提交更改

4.Issue跟踪

可以通过GitHub的Issue功能报告问题、提出新功能或进行讨论

5.代码审查

Pull Request中的更改可以通过GitHub的代码审查功能进行同行评审

了解这些基本命令和操作后,用户可以更有效地使用Git进行版本控制,并通过GitHub进行协作和分享代码。

Git&GitHub的用法

Git和GitHub是两个紧密相关的工具,但它们有不同的用法和功能。以下是它们各自的详细用法:

Git的用法:

1. 安装和配置Git

安装Git:根据操作系统,从官网下载并安装Git。

配置用户信息:

bash 复制代码
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

2. 创建和管理仓库

初始化新仓库:

bash 复制代码
git init

克隆现有仓库:

bash 复制代码
git clone [repository-url]

3. 文件操作

检查当前状态:

bash 复制代码
git status

跟踪新文件:

bash 复制代码
git add [file]

提交更改:

bash 复制代码
git commit -m "Commit message"

4. 分支管理

创建新分支:

bash 复制代码
git branch [branch-name]

切换分支:

bash 复制代码
git checkout [branch-name]

创建并切换到新分支:

bash 复制代码
git checkout -b [branch-name]

合并分支:

bash 复制代码
git merge [branch-name]

5. 远程操作

查看远程仓库:

bash 复制代码
git remote -v

添加远程仓库:

bash 复制代码
git remote add [shortname] [url]

从远程仓库获取最新内容:

bash 复制代码
git fetch [remote]

推送到远程仓库:

bash 复制代码
git push [remote] [branch]

从远程仓库拉取并合并:

bash 复制代码
git pull [remote] [branch]

6. 标签管理

列出标签:

bash 复制代码
git tag

创建标签:

bash 复制代码
git tag [tag-name]

推送标签到远程仓库:

bash 复制代码
git push [remote] [tag]

7. 撤销更改

撤销暂存区的文件:

bash 复制代码
git reset [file]

回滚到特定提交:

bash 复制代码
git reset --hard [commit]

撤销提交:

bash 复制代码
git revert [commit]

8. 查看历史

查看提交历史:

bash 复制代码
git log

查看差异:

bash 复制代码
git diff

GitHub的用法:

1. 创建和管理仓库

  1. 在GitHub上创建新仓库:
    登录GitHub,点击**"+"号,选择 "New repository"。**
    填写仓库信息并创建。
  2. 从命令行推送现有仓库到GitHub:
bash 复制代码
git remote add origin [repository-url]
git branch -M main
git push -u origin main

2. 使用Issue跟踪

  1. 创建新Issue:
    在仓库页面,点击"Issues",然后点击**"New issue"**。
  2. 标记和分类Issue:
    使用标签、里程碑和分配人员来管理Issue。

3. Pull Request

  1. 发起Pull Request:
    在GitHub上,点击"New pull request "。
    选择分支并填写PR信息。
  2. 审查和讨论代码:
    Reviewers可以在PR中添加注释和建议。
  3. 合并Pull Request:
    维护者可以点击"Merge pull request"来合并更改。

4. 分支保护

设置分支保护规则:

在仓库的"Settings" -> "Branches"中可以设置分支保护规则。

5. GitHub Actions

  1. 创建自动化工作流程:
    在仓库的".github/workflows"目录中创建YAML配置文件
  2. 运行和监控工作流程:
    GitHub Actions会在符合条件时自动运行,并在仓库的"Actions"标签页中显示结果。

6. GitHub Pages

发布静态网站:

在仓库的"Settings" -> "Pages"中配置GitHub Pages。

这些用法涵盖了Git和GitHub的基本和进阶操作。根据具体需求,可以更深入地探索这些工具的高级特性和最佳实践。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了Git和GitHub的区别于用法。

相关推荐
水水沝淼㵘20 分钟前
嵌入式开发学习日志(数据库II && 网页制作)Day38
服务器·c语言·网络·数据结构·数据库·学习
守护者1701 小时前
JAVA学习-练习试用Java实现“一个词频统计工具 :读取文本文件,统计并输出每个单词的频率”
java·学习
绅士玖1 小时前
理解 .env 文件和 .gitignore 文件的作用与最佳实践
前端·git·代码规范
不太可爱的叶某人1 小时前
【学习笔记】深入理解Java虚拟机学习笔记——第3章 垃圾收集器与内存分配策略
java·笔记·学习
Chef_Chen2 小时前
从0开始学习R语言--Day21--Kruskal-Wallis检验与Friedman检验
学习
新中地GIS开发老师2 小时前
2025武汉考研形势分析,趋势、挑战与应对策略
学习·考研·arcgis·大学生·gis开发·webgis·地理信息科学
不念霉运3 小时前
开源生态新势能: 驱动国产 DevSecOps 与 AI 工程新进展
人工智能·开源·github·devops
不爱学英文的码字机器3 小时前
[Git] 标签管理
大数据·git·elasticsearch
蓝婷儿3 小时前
6个月Python学习计划 Day 21 - Python 学习前三周回顾总结
python·学习
落羽的落羽3 小时前
【C++】来学习使用set和map吧
c++·学习