上位机知识篇---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@example.com":配置邮箱。

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 "your_email@example.com"

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的区别于用法。

相关推荐
东京老树根7 小时前
Excel 技巧22 - Ctrl+D 向下复制(★★),复制同间距图形
笔记·学习·excel
Ronin-Lotus7 小时前
程序代码篇---Python随机数
前端·python·学习·随机数
前端达人8 小时前
「AI学习笔记」深度学习的起源与发展:从神经网络到大数据(二)
人工智能·笔记·深度学习·神经网络·学习
草明8 小时前
TypeScript 学习
javascript·学习·typescript
AI悦创|编程1v19 小时前
GitHub Actions定时任务配置完全指南:从Cron语法到实战示例
github
**kwargs9 小时前
ssh密钥登录GitHub时一直提示“Error: Permission denied (publickey)”
运维·ssh·github
学编程的闹钟9 小时前
33【脚本&解析语言】
学习
大地之灯11 小时前
深度学习每周学习总结R5(LSTM-实现糖尿病探索与预测-模型优化)
深度学习·学习·lstm
dal118网工任子仪12 小时前
83,【7】BUUCTF WEB [MRCTF2020]你传你[特殊字符]呢
笔记·学习