小白入门学习计算机辅助工具--Git和Github

news/2024/11/8 6:49:47 标签: 学习

虽然平时大家都有听过Github,但这实际上要分为Git和Github,我们可以简单理解为前者是用于本地,后者是远程端。下面我们来看看一些基本的操作。

Github创建仓库

让我们先从Github开始,点击右边的绿色按钮new进入创建库界面:

如图,在填写仓库的名字以及描述,点击勾选完初始化仓库信息后,就可以创建这个仓库了。

可以看到,创建的仓库名为'exercise-code',包含了一个commit,这是我们在勾选初始化信息后自动生成的,文件后缀为md,表示文件为markdown格式;包含有一个branch,是master分支,即主分支;还有一个contributor,对项目的贡献者,也就是答主本身。

回到主页,我们可以看到三样东西:popular repositories 、contributions in the last year以及Contribution activity,分别代表的是受欢迎的仓库,每个仓库通过star的数量标榜受欢迎程度,会展示个人受欢迎前六名的仓库;贡献标记,小方块的颜色越深,贡献越多;贡献活动记录,记录你每次做了什么。

GitHub常用术语

  • repository:简称repo,可以理解为“仓库”,我们的项目就存放在仓库之中。也就是说,如果我们想要建立项目,就得先建立仓库;有多个项目,就建立多个仓库。

  • issue:可以理解为“问题”,举一个简单的例子,如果我们开源一个项目,如果别人看了我们的项目,并且发现了bug,或者感觉那个地方有待改进,他就可以给我们提出issue,等我们把issue解决之后,就可以把这些issue关闭;反之,我们也可以给他人提出issue。

  • fork:可以理解为“拉分支”,如果我们对某一个项目比较感兴趣,并且想在此基础之上开发新的功能,这时我们就可以fork这个项目,这表示复制一个完成相同的项目到我们的 GitHub 账号之中,而且独立于原项目。之后,我们就可以在自己复制的项目中进行开发了。

  • pull request:可以理解为“提交请求”,此功能是建立在fork之上的,如果我们fork了一个项目,对其进行了修改,而且感觉修改的还不错,我们就可以对原项目的拥有者提出一个pull请求,等其对我们的请求审核,并且通过审核之后,就可以把我们修改过的内容合并到原项目之中,这时我们就成了该项目的贡献者。

  • merge:可以理解为“合并”,如果别人fork了我们的项目,对其进行了修改,并且提出了pull请求,这时我们就可以对这个pull请求进行审核。如果这个pull请求的内容满足我们的要求,并且跟我们原有的项目没有冲突的话,就可以将其合并到我们的项目之中。当然,是否进行合并,由我们决定。

  • watch:可以理解为“观察”,如果我们watch了一个项目,之后,如果这个项目有了任何更新,我们都会在第一时候收到该项目的更新通知。

  • gist:如果我们没有项目可以开源或者只是单纯的想分享一些代码片段的话,我们就可以选择gist

Git和GitHub的绑定

在创建好仓库之后,如果我们想把我们的代码上传到GitHub上,如果只是单纯的保存到Git仓库里,在GitHub中我们是搜不到我们的项目的,所以我们需要通过SSH将两者绑定在一起。

在通过ssh公钥来授权之前,我们先打开Git-bash输入ssh来检查电脑中是否有安装ssh key。对于 Linux 和 Mac 系统,其是默认安装SSH的,而对于 Windows 系统,其默认是不安装 SSH 的,不过一般在安装了 Git Bash后,其也应该自带了 SSH. 可以通过在 Git Bash 中输入ssh命令,查看是否有安装。

如图,这就表示本机中已经安装有SSH了,接着我们输入ssh-keygen -t rsa 命令,表示我们指定 RSA 算法生成密钥,然后敲三次回车键,期间不需要输入密码,之后就会生成两个文件,分别为id_rsa 和id_rsa.pub,即密钥id_rsa 和公钥id_rsa.pub,两者都为隐藏文件,默认生成在以下目录:

  • Linux 系统:~/ .ssh

  • Mac 系统:~/ .ssh

  • Windows 系统:C: \Documents and Settings\username\\.ssh

  • Windows 10 ThinkPad: C:\Users\think\.ssh

密钥和公钥生成之后,通过cat ~/.ssh/id_rsa.pub 命令复制公钥,接着把公钥的内容添加到 GitHub,这样我们本地的密钥GitHub 上的公钥才可以进行匹配,授权成功后,就可以向 GitHub 提交代码了。

如图,我们点击右边的Setting进入界面,点击SSH and GPG key是,点击new SSH keys,将我们的公钥内容复制进去:

这里可以只复制内容,不用在title里输入内容,直接点击Add SSH keys 就可以完成Git和Github的交互了。

上传、下载代码

先打开项目,点击code,把项目地址复制好:

接着我们在我们需要上传的代码文件夹里进入Git Bash,正常来说第一次应该先输入git init进行初始化,由于答主已经初始化过了,所以没有进行这部操作。然后我们依次输入git add .(把该文件夹下的内容添加到仓库里);git commit -m "Initial commit"(提交更改到仓库内,引号里填写的是这次提交内容的备注);git remote add origin https://github.com/<username>/<repo>.git (添加GitHub仓库作为远程仓库,origion后面改为我们上面复制的仓库链接);git push -u origin master(将代码上传到仓库中,如果是第一次上传到GitHub,可能会提示你输入GitHub的用户名和密码),如下:

相比之下,要想在GitHub下载代码就简单多了,只需要点击download zip就可以了。

代码合并

在进行开发的过程中,我们很容易遇到合并代码的情况,例如我们从 master 分支拉取了一个 feature 分支,当我们开发到一段时间之后,可能需要将 master 的代码合并到我们当前的 feature 分支之中。而在这期间,很可能我们在两个分支都做了提交,那么这种情况该怎么操作呢?

如果使用git merge命令,假设我们在feature分支提交了三次commit,master则提交了两次,我们运行git merge --no-ff master,意思是把master的代码合并feature,--no-ff参数是为了保留mastercommit的提交记录。

如果使用rebase命令,即运行git rebase feature,就会把feature的代码合并到master分支处,注意,这里的合并跟之前的区别在于,以代码上commit的提交作为区分,合并后相当于是master先做了两次commit,再到feature做了三次commit。假如在合并的过程中,某个 commit 遇到了冲突,则需要我们先解决该冲突,然后才能继续进行合并操作,一般使用git add +冲突文件名将当前冲突标记为已解决,然后使用git rebase --continue命令继续合并操作。

以上就是使用Git和GitHub的一些基本操作,以后答主遇到一些刚需的命令和操作也会在这里进行补充更新。


http://www.niftyadmin.cn/n/5743463.html

相关文章

middleware中间件概述

中间件定义 中间件&#xff08;middleware&#xff09;是基础软件的一大类&#xff0c;属于可复用软件的范畴。顾名思义&#xff0c;中间件处在操作系统、网络和数据库之上&#xff0c;应用软件的下层&#xff08;如图 15-1 所示&#xff09;​&#xff0c;也有人认为它应该属…

一个百度、必应搜索引擎图片获取下载的工具包

前言&#xff1a;前段时间需要一大批图片&#xff0c;跑去百度搜图下载&#xff0c;发现特别麻烦&#xff0c;于是用了一天时间写了一个工具库&#xff0c;方便后续使用&#xff0c;这里分享给大家 imagecapture 是一个用 Go 语言编写的库&#xff0c;旨在从百度和必应等搜索引…

爬虫学习5

selenium用法详解【从入门到实战】【Python爬虫】【4万字】_selenium用法详解4万字csdn-CSDN博客 MYSQL数据库 MongoDB数据库 selenium用法详解【从入门到实战】【Python爬虫】【4万字】_selenium用法详解4万字csdn-CSDN博客 redis数据库 黑马程序员Redis入门到实战教程&…

如何调整pdf的页面尺寸

用福昕阅读器打开pdf&#xff0c;进入打印页面&#xff0c;选择“属性”&#xff0c;在弹出的页面选择“高级” 选择你想调成的纸张尺寸&#xff0c;然后打印&#xff0c;打印出来的pdf就是调整尺寸后的pdf

在CentOS下安装RabbitMQ

在CentOS下安装RabbitMQ 在CentOS下安装RabbitMQ可以按照以下步骤进行&#xff1a;步骤 1: 更新系统步骤 2: 安装Erlang步骤 3: 添加RabbitMQ仓库步骤 4: 安装RabbitMQ步骤 5: 启动RabbitMQ服务步骤 6: 检查RabbitMQ状态步骤 7: 启用RabbitMQ管理插件&#xff08;可选&#xff…

现代Web开发:React Hooks深入解析

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 现代Web开发&#xff1a;React Hooks深入解析 现代Web开发&#xff1a;React Hooks深入解析 现代Web开发&#xff1a;React Hook…

linux centos 安装redis

安装 wget https://download.redis.io/releases/redis-7.4.0.tar.gz解压redis-7.4.0.tar.gz文件 tar -zxvf redis-7.4.0.tar.gz进入redis安装目录 cd redis-7.4.0make时报错&#xff0c;因为需要安装gcc&#xff0c;gcc安装需要联网安装 修改端口 编辑文件用vi。nano命令cen…

Hive 的数据类型

基本类型 整型 TINYINT: 1字节整数&#xff0c;范围从 -128 到 127。SMALLINT: 2字节整数&#xff0c;范围从 -32,768 到 32,767。INT: 4字节整数&#xff0c;范围从 -2,147,483,648 到 2,147,483,647。BIGINT: 8字节整数&#xff0c;范围从 -9,223,372,036,854,775,808 到 9…