github与git新手教程(快速访问github)

0 序言

作为一个开发者,你必须知道github和git是什么,怎么使用。

github是一个存储代码等资源的远程仓库,一个大型项目往往需要很多人共同协作开发,而大家如何协同开发的进度与分工等要求需要有一个统一开放保存代码的平台。github就是这么一个平台(基于git的在线代码仓库托管平台)。当然,作为一个在线平台,你可以在上面存储你的资源。

git是一个开源的分布式版本控制系统,能够高效地处理项目的历史版本。

git与github从名字上看就有关系。git解决了本地代码管理问题,但是无法做到多人协作与代码共享,github则基于git分布式特点,提供了远程仓库、分支协作、项目拉取与推送等功能,让开发者能够与远程仓库进行交互,从而实现协作开发。

1 github使用

1.1 访问github

如果你的电脑是Windows操作系统,那么你很幸运,你能够简单的解决问题:

1.打开微软商店,搜索Watt Toolkit,获取这个工具【官网是steampp.net】

2.注册一个账号,勾选github即可。

如果你的电脑是Mac操作系统,建议访问官方网站steampp.net。

1.2 创建github账号

1.访问github,然后选中右上角的Sign up(注册)。

2.填写邮箱、密码、用户名【请保存好你的密码,之后需要手动登录】。

3.完成邮箱验证,验证通过之后会跳转到登陆界面。

至此,恭喜你成为一名github社区成员。

1.3 使用github

请注意github是一个全英文的网站,不熟悉英文的朋友可以使用浏览器自带的翻译插件。

在github主页,你可以清晰的看到它的布局:

1.最左侧是你的个人仓库列表,你可以点击那个绿色的按钮快速创建你的仓库。

2.请注意,搜索框在最顶层上,最显眼的那个并不是搜索框,是和copilot对话的窗口。

3.如果你单击最右侧的头像,你将进入你的个人区域。

4.如果你使用滚轮下滑,你会看到github的官方教程文档,推荐阅读。

1.3.1 创建仓库

你需要输入你期望的仓库名字(Repository name)、对这个仓库的描述(Description)、确定仓库是开放的还是私人的、添加一个README文件、添加一个.gitignore文件、添加一个许可证。

1.仓库名字:名字必须使用英文与数字,其他一切都会被特殊符号替代。

2.描述:可选的,用于描述你的仓库。

3.仓库的开放性:请注意,开放的仓库是免费提供的,私人的仓库需要收费。

4.README文件:这是一个markdown文件,它会在仓库主页下渲染,让别人清楚的了解这个仓库的信息。

5..gitignore文件:这是一个git文件,用于指定哪些文件不应该被git跟踪与管理。

6.license文件:表明仓库的使用范围。如CC0,完全开放的文档许可证,允许商用、个人使用,需注明原作者的所有权。

1.3.2 仓库相关界面与功能

当你创建一个仓库后,你会看到仓库的界面有很多功能,这里的各个功能请参考github官方文档。

1.3.3 获取一个项目

有三种方式获取一个项目:直接下载、使用git进行克隆、使用github桌面工具打开。

直接下载:仅能看到当前展示的代码状态,无法与远程仓库交互,需要另行配置仓库并提交推送,不包括历史记录。这种方法建议使用(而不是开发)时使用。

使用git进行克隆:你能保留整个仓库的main分支历史,如果你拉取的不是main分支而是其他的分支,则能查看这个分支的历史,需要注意,只有是开源的协作开发项目才有多个分支。

使用桌面工具:本质上与使用git没什么区别,但是其集成了github原生生态,能够以可视化的方式操作一个仓库(交互友好)。

1.3.4 使用copilot

请注意,每个用户每月都有限额使用,2000次代码补充和50次聊天,支持GPT 4.0、Claude 2.3 Sonnet等模型。如需使用专业版,请进行充值。如果你能够注册为学生、教师以及开源维护者,那么可以免费使用专业版。

2 git使用

如需了解更多:runoob.com,打开开发者工具,选择git进行深入学习。

2.1 git安装与配置

(1)安装

在Windows操作系统上,直接从这个网站下载:git-scm.com,可能下载速度有点慢。如果你安装了winget工具,可以直接在终端运行`winget install --id Git.Git -e --source winget`命令。

在Linux操作系统上,使用`apt-get install git`或者`yum -y install git-core`即可(确保安装了包管理器apt-get、yum)。

在Mac操作系统上,可以访问git-scm.com或者使用brew install git命令进行安装。

安装完成后,在cmd中使用git --version校验是否安装成功。【Windows的cmd打开方式:按住win+r,输入cmd回车就行】【成功安装会弹出git信息】

(2)配置

Git的配置有三个层级:第一层级为/etc/gitconfig,对系统中所有用户适配,git config --system;第二层级为../.gitconfig,对本用户适用,git config --global;第三层级为当前项目的配置,即工作目录下的.git/config,git config。三者的优先级逐个增高。

推荐基本的信息按用户配置,剩余的按项目配置。

配置基本的用户信息:

git config --global user.name your_namegit config --global user.email your_email

配置文本编辑器:(默认使用Vim)

更换成VS code:

git config --global core.editor “code --wait”

查看配置信息:

git config --list

生成SSH密钥:

ssh-keygen -t rsa -b 4096 -C “explanation_for_the_key”

2.2 git的核心思想与工作流程

git是分布式的,资源以多点分散储存,各个节点资源内容不一样,通过网络连接形成一个庞大的资源库。

工作流程:仓库创建——分支创建——内容编辑——暂存文件——提交更改——拉取最新更改——推送你的更改(核对过最新更改)

2.3 参与一个项目的git基本命令流程

1.基础仓库配置

git init(初始化仓库,当你在本地自建仓库时使用)git clone remote_urls(克隆远程仓库)

如果你是初始化你的本地仓库,想要上传到远程仓库,请添加远程仓库:

git remote add origin "your repository url"

2.分支创建(推荐创建一个分支并在这个分支上进行修改)

git checkout -b branch_name

3.添加文件

git add .(注意有个点,这是添加所有修改的文件)git add relative_path_to_file(使用相对路径添加文件)

4.提交更改

git commit -m “sentence describe the file or files”

5.拉取远程(如果没有远程就不必了)

git pull origin remote_branch

6.推送

git push origin remote_branch

可以使用以下方式建立与远程分支的关联,下一次可以直接使用git push推送到该分支。

git push -u origin remote_branch

2.4 附:

最容易碰到的就是SSL证书问题,git可能不能即时更新证书。

直接的办法就是使用SSH方式替代HTTP方式,但是如果在网络受限的环境中(比如禁止SSH端口的校园网等)只能使用HTTP方式,那么可以采用以下命令来阻止SSL证书认证。

git config http.sslVerify "false"

更安全的方式是允许认证,下面这条命令仅适用于Windows系统.

git config --global http.sslBackend schannel

如果是Linux系统可以使用1安装证书,如果是Mac系统,可以使用2安装证书(安装完成后可能需要在git中配置证书。具体配置得看具体系统安装的位置,麻烦大家自己找找)。

sudo apt-get install --reinstall ca-certificates
brew install ca-certificates

3 结语

本文简单介绍了如何使用github与git,重点在github网络加速、github仓库介绍和git使用,旨在帮助想要成为开发者的或者想要参与github社区的新手朋友。

如内容有不当之处,可以直接在评论中dis作者,还望海涵。

4 资源链接

git安装包下载链接:【免费】git安装包(exe文件压缩称.7z文件)资源-CSDN下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/91192.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows环境下安装Python和PyCharm

可以只安装PyCharm吗?不可以!!! 开发Python应用程序需要同时安装Python和PyCharm。Python是一种编程语言,PyCharm是一个专门为Python开发设计的集成开发环境,提供丰富的功能以简化编码过程。 一、前期准备…

Qt 嵌入式系统资源管理

在嵌入式系统中,资源(CPU、内存、存储、网络等)通常非常有限,因此高效的资源管理对 Qt 应用的稳定性和性能至关重要。本文从内存优化、CPU 调度、存储管理到电源控制,全面解析 Qt 嵌入式系统资源管理的关键技术。 一、…

小杰数据结构(one day)——心若安,便是晴天;心若乱,便是阴天。

1.数据结构计算机存储、组织数据的方式;有特定关系的数据元素集合;研究数据的逻辑结构、物理结构(真实存在)和对应的算法;新结构仍保持原结构类型;选择更高的运行或存储效率的数据结构。逻辑结构——面向问…

力扣面试150(44/150)

7.30 155. 最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶…

Linux实战:从零搭建基于LNMP+NFS+DNS的WordPress博客系统

前言 在数字化时代,拥有一个个人博客是技术爱好者展示成果、分享经验的重要方式。本文将带您从零开始,在Linux环境下通过两台服务器协作,搭建一个功能完整的WordPress博客系统。我们将整合LNMP架构、NFS文件共享和DNS域名解析服务&#xff0c…

Apache Ignite 的对等类加载(Peer Class Loading, P2P Class Loading)机制

这段内容是关于 Apache Ignite 的“对等类加载”(Peer Class Loading, P2P Class Loading)机制的详细说明。这是 Ignite 为了简化开发而设计的一个非常强大的功能,但同时也存在一些安全和性能上的考量。 下面我将用通俗易懂的语言 结构化解…

预过滤环境光贴图制作教程:第四阶段 - Lambert 无权重预过滤(Stage 3)

在完成高光反射的 GGX 预过滤后,我们还需要处理环境光的漫反射部分。本阶段(Stage 3)将基于 Lambert 分布对环境贴图进行无权重预过滤,生成用于漫反射计算的环境数据。与高光反射的方向性不同,漫反射是光线在粗糙表面的均匀散射,因此需要用更适合均匀分布的 Lambert 模型…

Spring与SpringBoot:从手动挡到自动挡的Java开发进化论

大家好!我是程序员良辰,今天我们来聊聊Java开发界的两位"重量级选手":Spring 和 SpringBoot。它们之间的关系就像手动挡汽车和自动挡汽车——一个给你完全的控制权但操作复杂,一个让你轻松上路但保留了切换手动模式的能…

1.4.Vue 的模板事件

Vue 的模板事件1. 最常见和推荐的做法。将复杂的逻辑封装在 methods 中。<!-- ✅ 正确&#xff1a;调用 methods 中的方法 --> <button click"handleClick">点击我</button>new Vue({methods: {handleClick(event) {// 这里可以写任意语句if (this…

SQLite 子查询详解

SQLite 子查询详解 引言 SQLite 是一种轻量级的数据库&#xff0c;以其简单、易用和跨平台而著称。在数据库查询中&#xff0c;子查询是一个非常重要的概念&#xff0c;它允许我们在查询中使用查询结果。本文将详细讲解 SQLite 中的子查询&#xff0c;包括其定义、用法以及在实…

可以组成网络的服务器 - 华为OD统一考试(JavaScript 题解)

题目描述 在一个机房中,服务器的位置标识在n*m的整数矩阵网格中,1表示单元格上有服务器,0表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网,请你统计机房中最大的局域网包含的服务器个数。 输入描述 第一行输入两个正整数,…

redis,MongoDB等未授权访问靶场复现

redis未授权访问在docker中启动vulhub对应的靶场目录&#xff1a;cd /vulhub-master/redis/4-unacc在kali上安装redis程序进行服务连接安装redis apt-get install redis redis链接 redis-cli -h IP -p 端口输入info可以查看信息接下来我们使用redis-rogue-server来获取命令执行…

设计模式:代理模式 Proxy

目录问题解决方案结构代码代理是一种结构型设计模式&#xff0c;让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问&#xff0c;并允许在将请求提交给对象前后进行一些处理。 问题 为什么要控制对于某个对象的访问呢&#xff1f; 举个例子&#xff1a; 有这样一…

Linux零基础Shell教学全集(可用于日常查询语句,目录清晰,内容详细)(自学尚硅谷B站shell课程后的万字学习笔记,附课程链接)

此文章为学习了 尚硅谷B站课程 后的学习笔记 【尚硅谷】Shell脚本从入门到实战_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1hW41167NW/?spm_id_from333.337.search-card.all.click&vd_source68e0bbe20c8b1102b59ced40f67db628注意&#xff1a;需要先学Linux基础…

GitLab 中的分支和标签的定义及操作

&#xff08;一&#xff09;GitLab 中的分支和标签的定义及操作 1. 分支&#xff08;Branch&#xff09; 定义&#xff1a; 分支是代码仓库中的独立开发路径&#xff0c;允许你在不影响主线&#xff08;通常是 main 或 master 分支&#xff09;的情况下&#xff0c;进行实验、开…

第2章 cmd命令基础:常用基础命令(3)

Hi~ 我是李小咖&#xff0c;主要从事网络安全技术开发和研究。 本文取自《李小咖网安技术库》&#xff0c;欢迎一起交流学习&#x1fae1;&#xff1a;https://imbyter.com 本节介绍的命令有显示系统信息&#xff08;systeminfo&#xff09;、启动指定程序&#xff08;start&am…

RabbitMQ 发送方确认的两大工具 (With Spring Boot)

核心概念解析 发布者确认机制的核心思想是&#xff1a;将消息投递的可靠性从“尽力而为”提升为“契约保证”。生产者不再是“发后不理”&#xff0c;而是与 Broker 建立一个双向的沟通渠道。 在 Spring AMQP 的封装下&#xff0c;这个机制主要由两个回调接口实现&#xff1a; …

KONG API Gateway中的核心概念

在使用Kong API Gateway&#xff08;API网关&#xff09;时&#xff0c;理解其核心概念是掌握其工作原理的基础。这些概念既体现了Kong的设计哲学&#xff0c;也决定了它如何适配复杂的API管理场景&#xff08;如微服务、多团队协作等&#xff09;。本文将系统梳理Kong的核心概…

如何解决pip安装报错ModuleNotFoundError: No module named ‘jupyterlab’问题

【Python系列Bug修复PyCharm控制台pip install报错】如何解决pip安装报错ModuleNotFoundError: No module named ‘jupyterlab’问题 摘要 在开发过程中&#xff0c;我们经常会遇到各种模块安装的问题&#xff0c;尤其是在使用PyCharm时&#xff0c;经常会遇到pip install时的…

3 运算符与表达式

运算符&#xff1a;对字面量或者变量进行操作的符号 表达式&#xff1a;用运算符把字面量或者变量连接起来符合java语法的式子就可以称作表达式不同运算符连接的表达式体现的是不同类型的表达式int a 10; int b 20; int c a b;&#xff1a;运算符&#xff0c;并且是算术运算…