首页 > 其他分享 >Github使用指南-Q&A-初识Github(一)

Github使用指南-Q&A-初识Github(一)

时间:2024-08-18 12:56:05浏览次数:15  
标签:Git CLI 仓库 初识 git 版本 使用 Github 使用指南

初识Github(一)

作者: 福州大学

我是一个温柔的刀客

2024/8/18

最近在完成福州大学西二在线的考核任务,刚刚上手github及其不习惯,觉得平时动动手就能完成的东西背后的知识竟是如此复杂,不免感叹为什么github发表博客不能像CSDN一样自由一样轻松哈哈哈,因此在学习过程中遇到了一些困难,通过自己上网查找相关资料,我对它的理解又加深了一层,我相信我的问题也是绝大多数初学者的问题,因此我用Q&A的方式将这些问题以及答案记录了下来,供我自己复习,同时也为同样有困惑的大家解解惑,写作不易,烦请大家点点赞关注一下哟!

1.到底什么是git/github,为什么要使用git呢,仓库又是什么意思?

当然可以!让我们从头开始解释 Git 的基本概念,以及为什么我们需要使用 Git。

什么是 Git?

Git 是一个分布式的版本控制系统(VCS),由 Linus Torvalds 在 2005 年创建,最初是为了更好地管理 Linux 内核项目的源代码。Git 设计用于高效、可靠地处理从小型到非常大型的项目版本管理。

什么是 Github?

GitHub 是一个基于 Git 的在线代码托管平台和服务,它不仅提供了版本控制功能,还提供了一系列协作工具,让开发者能够更容易地一起工作。GitHub 是目前全球最大的开源社区之一,被广泛用于软件项目的开发和版本控制。

Git 的作用:

  • 版本控制:Git 帮助你跟踪文件和代码的变更历史。
  • 备份:通过定期提交更改,Git 可以作为项目的备份系统。
  • 协作:Git 允许多个开发者在同一个项目上协同工作,每个人都有自己的工作副本。
  • 分支管理:Git 支持轻松创建、合并和删除分支,帮助开发者管理不同的开发线程。
  • 冲突解决:当多人同时修改同一份代码时,Git 可以帮助解决这些冲突。

为什么使用 Git?

  1. 高效性:Git 是非常快速的,即使是处理大型项目也能迅速响应。
  2. 安全性:每个开发者的本地仓库都包含了完整的项目历史记录,即使远程服务器出现问题,也不会丢失数据。
  3. 灵活性:Git 的分布式特性意味着每个开发者都可以在离线状态下工作,无需时刻连接到互联网。
  4. 易于协作:Git 使团队成员之间的代码共享变得简单。
  5. 易于学习:虽然 Git 初学时可能需要一些时间来适应,但一旦掌握了基本概念,就能非常高效地使用它。

仓库(Repository)

在 Git 中,仓库(Repository)是指用来存放项目文件及其历史版本的地方。每个 Git 仓库都包含了项目的完整历史记录,包括每次提交的信息、文件的变更等。

用博主自己的话说,仓库就相当于一个发表在网络上的文件夹,不同于PC端本地的文件夹,在获得访问权限后,任何人都可以进入其他人的仓库,这样大大提高了团队工作的效率.

Git 的工作流程:

  1. 初始化仓库:使用 git init 命令来创建一个新的 Git 仓库。
  2. 添加文件:使用 git add 命令将文件添加到暂存区(Staging Area),准备进行提交。
  3. 提交更改:使用 git commit 命令将暂存区中的更改提交到仓库中。
  4. 查看状态:使用 git status 命令查看当前仓库的状态。
  5. 查看提交历史:使用 git log 命令查看提交历史。
  6. 分支管理:使用 git branch 创建、查看、切换和删除分支。
  7. 合并分支:使用 git merge 将一个分支的更改合并到另一个分支。
  8. 推送(Push):使用 git push 将本地仓库中的提交同步到远程仓库。
  9. 拉取(Pull):使用 git pull 从远程仓库获取更新并合并到本地仓库。
  10. 克隆(Clone):使用 git clone 命令复制一个远程仓库到本地。

使用 Git 的场景:

  • 个人项目:用于管理个人项目的版本控制。
  • 团队项目:用于团队成员之间的代码共享和版本控制。
  • 开源项目:用于开源项目的贡献和维护。

示例:

假设你正在开发一个网站,并希望使用 Git 来管理你的项目:

  1. 初始化仓库:在项目目录中运行 git init 来创建一个新的 Git 仓库。
  2. 添加文件:使用 git add 命令将文件添加到暂存区。
  3. 提交更改:使用 git commit -m "Initial commit" 将文件的更改提交到仓库中。
  4. 查看状态:使用 git status 查看当前仓库的状态。
  5. 推送更改:使用 git push 将本地更改同步到远程仓库。

2.为什么要使用版本控制系统(VCS)呢?

**版本控制系统(Version Control System, VCS)是一种帮助软件开发者和其他团队成员管理文件变更历史的技术。**想象一下,你在写一篇论文或者制作一份重要文档,随着时间的推移,你会不断地修改这份文档。如果没有版本控制系统,当你需要查看之前的某个版本,或者不小心删除了一些重要的内容时,可能会感到非常头疼。

版本控制系统就像是一个时间机器,它记录每一次对文件所做的更改,并且允许你回到过去的任何版本。这在软件开发中尤其有用,因为一个项目可能涉及到多个文件,并且经常有多人同时参与开发。

下面是一个简单的例子来说明版本控制系统的工作原理:

  1. 创建初始版本:当你开始一个新的项目时,你可以将你的代码存入版本控制系统中。这个初始版本被称为“提交”(commit)。

  2. 进行修改:随着时间的推移,你可能会添加新功能、修复错误等。每次你完成一些工作后,你可以将其保存为一个新的提交。

  3. 回溯历史:如果在某个时候你发现之前的一个版本更好,你可以轻松地回到那个版本。这就像使用撤销功能,但更为强大,因为你不仅可以看到整个项目的状态,还可以看到是谁做的修改以及为什么做这些修改。

  4. 多人协作:当一个项目由多个人共同开发时,每个人都可以有自己的副本。他们可以在自己的副本上进行修改,然后将这些修改合并回主副本中。这样可以避免不同人之间的冲突,并确保每个人都在最新的代码基础上工作。

  5. 分支与合并:为了尝试新的功能或者修复某些特定的问题,开发者可以创建一个分支,在不影响主副本的情况下进行实验。完成后,可以将这些更改合并回主副本。

常见的版本控制系统:

  • 集中式版本控制系统(如 SVN):所有的版本信息都存储在一个中央服务器上,用户从服务器获取最新的版本或者上传自己的更改。
  • 分布式版本控制系统(如 Git):每个用户的电脑上都有完整的版本历史记录。这意味着即使没有网络连接,用户也可以继续工作,并且可以在任何时候将更改同步到远程服务器上。(主流)

版本控制系统极大地提高了开发效率,减少了出错的可能性,并且使得多人合作变得更加容易。

3.前端和后端分别指的是什么?

当我们谈论网站或者应用程序开发时,“前端”和“后端”这两个词经常被提到。简单来说,前端和后端指的是不同的部分,它们共同协作来构建一个完整的网站或应用。

举个通俗易懂的小例子,你去一家饭店里吃饭,服务员的待客,上菜等让你看得见的就是前端;厨师采购食材,烹饪的过程等你所看不见的就是后端.

前端(Frontend)

前端通常被称为“客户端”或“用户界面”。它指的是用户可以直接看到和交互的部分,比如网页上的按钮、文字、图片、视频等等。当你浏览一个网站时,所有你能够直接看到和操作的东西都属于前端。

前端技术主要包括:

  • HTML:用来定义网页结构的语言。
  • CSS:用来设计网页外观(颜色、字体、布局)的语言。
  • JavaScript:用来增加网页互动性的编程语言,比如表单验证、动态效果等。

后端(Backend)

后端通常被称为“服务器端”。它处理的是网站背后的数据存储、逻辑处理以及与数据库的交互等工作。用户虽然不能直接看到后端的工作,但它却是网站运行的基础。当用户通过前端进行操作时,比如填写表单、上传文件等,这些数据会被发送到后端进行处理。

后端技术包括:

  • 服务器:用于存放网站文件和数据库的地方。
  • 数据库:用来存储数据的地方,比如用户的个人信息、文章内容等。
  • 服务器端语言:如 Java、Python、PHP、Ruby 等,用来编写处理数据和业务逻辑的程序。

总结

  • 前端关注的是网站或应用的外观和用户体验。
  • 后端关注的是网站或应用的功能实现、数据管理和逻辑处理。

举个例子,假设你要注册一个网站账号:

  • 当你填写用户名、密码并点击“注册”按钮时,这些操作都是在前端完成的。
  • 点击之后,这些数据会发送到后端,后端会检查用户名是否已经被占用、密码是否符合安全要求等,然后将信息存入数据库。

4.为什么git要使用CLI(命令行操作)的方式呢,这样对于用户操作来说不是很麻烦吗?

确实,对于初次接触 Git 的用户来说,命令行界面(CLI)可能会显得有些复杂和难以掌握。然而,使用 CLI 有许多优点,这也是为什么 Git 默认采用 CLI 方式的原因之一。下面是一些使用 CLI 的好处:

CLI 的优点:

  1. 高效性:一旦熟悉了 Git 的命令行语法,你可以在很短的时间内完成复杂的操作,比如批量修改文件、合并分支、撤销更改等。在图形界面中,这些操作可能需要多个步骤才能完成。

  2. 灵活性:CLI 提供了高度的灵活性。你可以组合多个命令来完成特定的任务,或者编写脚本来自动化常见的操作流程。

  3. 跨平台一致性:CLI 在所有平台上都是一致的。无论你使用的是 Windows、macOS 还是 Linux,命令行语法都相同,这使得学习和迁移变得容易。

  4. 集成性:CLI 很容易与其他工具和系统集成。你可以将 Git 命令嵌入到脚本、持续集成/持续部署(CI/CD)管道、自动化任务中。

  5. 可移植性:你不需要安装任何特定的应用程序来使用 Git。只要安装了 Git,你就可以在任何地方通过命令行来管理你的仓库。

  6. 可记录性:CLI 命令可以被记录下来,便于以后回顾或重复执行。这对于团队协作和项目管理来说非常有用。

  7. 高级功能:CLI 提供了更高级的功能,如复杂的数据分析、过滤、检索等,这些功能在图形界面中可能不容易实现。

    用博主自己的话来说,CLI操作的方式就相当于写代码一样,虽然过程可能会很辛苦,但是最后能够达到事半功倍的效果,可以解决一些复杂的问题或者任务.

GUI 工具的优势:

尽管 CLI 有很多优点,但对于一些用户来说,图形用户界面(GUI)工具可能更友好,特别是对于那些不习惯命令行操作的新手。GUI 工具的优点包括:

  • 直观性:GUI 提供了可视化界面,使操作更加直观。
  • 易于上手:对于初学者来说,GUI 的学习曲线较低。
  • 错误减少:GUI 通常会提供错误提示和帮助信息,减少了因命令行语法错误导致的问题。
  • 实时反馈:GUI 工具可以提供即时的视觉反馈,帮助用户了解当前的状态和进展。

结合使用:

实际上,很多 Git 用户都会结合使用 CLI 和 GUI 工具。例如,你可以在图形界面上进行日常的基本操作,而在 CLI 中处理更复杂的任务。

常见的 GUI 工具:

  • SourceTree:一款流行的跨平台 Git 客户端。
  • GitHub Desktop:GitHub 提供的官方客户端。
  • GitKraken:另一款跨平台的 Git 客户端。
  • Sourcetree:Atlassian 提供的一款免费的 Git 和 Mercurial 客户端。

总之,CLI 和 GUI 工具各有优缺点。随着经验的增长,你可能会发现自己更倾向于使用 CLI,因为它提供了更高的效率和灵活性。但如果你刚开始使用 Git,可以从 GUI 工具开始,逐渐过渡到 CLI。


感谢观看,点点关注,主页有更多人工智能学习干货哦~

标签:Git,CLI,仓库,初识,git,版本,使用,Github,使用指南
From: https://blog.csdn.net/2401_82557688/article/details/141298366

相关文章

  • C语言学习————常量和宏、初识指针
    #define定义常量和宏define是一个预处理指令用途:1.define定义符号#defineMAX1000intmain(){ printf("%d\n",MAX); return0;}2.define定义宏#defineADD(X,Y)((X)+(Y))intmain(){ printf("%d\n",ADD(2,3)); return0;}指针内存内存是计算机上特......
  • Github Dorisoy网盘项目
    相关github地址https://github.com/dorisoy/Dorisoy.Pan?tab=readme-ov-filemysql8sudorpm-ivhmysql80-community-release-el7-5.noarch.rpmwgethttps://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpmsudoyuminstallmysql-community-server--nogpgc......
  • 01_初识爬虫
    初识爬虫1、爬虫的相关概念什么是爬虫网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做.如何获取爬虫程序●下载其他公司开发的通用爬虫(八......
  • Hexo-Github Actions 自动部署方案
    前阵子因为很久没有捡起来写博客,导致电脑的node环境各种版本问题,本地压根运行不起来,所以折腾了一下Hugo方案,感觉Hugo相较于Hexo还是有很多优势的,让我印象比较深的是:整个环境较为独立,不再像Hexo需要依赖电脑Node版本,各种插件需要独立版本,随着Hexo或者Node版本升......
  • 零成本 API 服务搭建,用 GitHub Actions 自动爬取文章?
    前言本着将成本降到最低,我目前做的应用或小程序都是单机的,也就是不用请求接口,只要一上架就没有任何支出。但是写死的数据毕竟有限,应用的内容单一无法紧跟时事热点,每次打开一个样,自然就没有留存。遇到有错字啥还要更新版本,那有没有方法既能丰富应用内容,又不用增加成本呢?既要又要,......
  • [数据中心] 群晖NAS-使用指南
    0概述引言搭建个人知识系统,是如今信息大爆炸、人工智能革命技术时代保持职业竞争力的关键之一。为此,前段时间咬牙买下了一台NAS(群晖NAS423+)作为个人的数据存储基础底座。本文用于总结群晖NAS核心功能、常用功能的经验技巧。本文非恰饭广告,纯属个人使用总结笔记。当然,......
  • linux创建github仓库并用git上传本地仓库到github仓库
    1.创建github仓库(1)点击右上角的头像(2)点击Yourrepositories(3)点击New(4)填写好Owner和Repositoryname点击AddaREADMEfile选择license,再点击Createrepository2.用git上传本地仓库到github仓库git工作流:(1)点击Code再点击Local查看github仓库地址(2)将git......
  • 利用 Cloudflare workers 反代 github
    反代Github似乎会被认定为欺诈,严重的会封禁域名,不建议尝试首先绑定你的域名到cloudflare,然后创建一个Worker后写入以下代码并添加自定义域名//反代目标网站.constupstream='github.com';//反代目标网站的移动版.constupstream_mobile='github.com';//访问......
  • 我与数据库的七年之痒:从初识到没它不行
    腾讯云社区最新发布的《中国数据库前世今生》纪录片,作为7年使用数据库的程序员来说,感受很深。纪录片主要讲述了数据库的发展历程以及不同数据库的使用经验。视频中提到作者在大学时期学习数据库原理时的经历,以及关于使用TDSQL时与MySQL不兼容的问题。此外,视频还涉及了如何选择合适......
  • github 博客
    https://chirpy.cotes.page/posts/getting-started/#option-2-github-forksudoapt-getinstallruby-fullbuild-essentialzlib1g-devecho'#InstallRubyGemsto~/gems'>>~/.zshrcecho'exportGEM_HOME="\(HOME/gems"'>......