GitHub介绍及使用方法

目的

借助GitHub托管项目代码

基本概念

仓库(Repository)

仓库用来存放项目代码,想在GitHub上开源一个项目,就要新建一个仓库,如果开源项目多了,就会拥有多个仓库

收藏(Star)

仓库主页star按钮,意思是收藏项目的人数

复制克隆项目(Fork)

就是复制一份别人的项目,仓库独立存在,自己可以在复制过来的仓库中随便增加删除文件,原仓库所有者不会进行更新

发起请求(Pull Request)

Fork了别人的仓库,自己进行了增删操作,需要同步到原仓库,就需要发起请求,如果原仓库所有人认同改进,就会将两部分进行合并

关注(Watch)

如果关注了某个项目,在这个项目进行变化的时候,可以及时的进行查看

事务卡片(Issue)

发现代码BUG,但是没有成型代码,需要讨论时用

Github主页

左侧显示用户动态以及关注用户或仓库的动态;右侧显示所有的git库

仓库主页

主要显示项目的信息,如:项目代码,版本,收藏/关注/fork情况

个人主页

个人信息,我关注的人,我关注的项目,我的仓库等

创建仓库/创建新项目

说明
  • 一个git库对应一个开源项目,通过git可以管理git库

  • Repository name:直接输入想要的名字

  • Description:描述,可选择项,可以对仓库进行描述

  • Public/Private:公有或者私有,就是别人能不能看到自己的仓库

  • Initialize this repository with:

    • 可以选择创建一个README文件,进行项目描述

    • Add .gitinore

    • Choose a license

仓库主页

code

go to file:定位到目标文件

Add file

  • create new file:创建新文件
  • upload files:上传文件

Code downloads

  • https方式

​ 直接使用url进行clone,谁拿到url都可以clone,但是在进行push的时候需要验证身份

  • ssh

​ clone的项目的拥有者或管理员必须是自己,在clone前必须添加ssh key(就是配置公钥和私钥),在push的时候不需要输入用户名,配置ssh时如果设置了密码在push时候才需要密码

  • Github CLI

    这种方式是使用GitHub客户端进行下载,相当于使用命令行管理GitHub

  • download zip

    这种方式就是直接下载一个zip文件

Issue

发现代码bug,但是目前没有成型代码,进行相关讨论,方便管理

Pull Request

用户修改代码后向对方仓库发送采纳请求的功能,就是你进行了优化,希望对方进行采纳,就可以发起一个request

Wiki

简单实用的进行文档编辑,其实就相当于编写markdown文档,所有有权限的人都可以对文章进行修改

Pulse

体现仓库软件开发活跃度的功能,其实就是看你的仓库活跃不活跃,最近有创建了多少Pull Request 和Issue,有多少人参与了仓库的开发等。

Graphs

可以通过多种图表查看该仓库的相关统计信息,利用图表直观的汇总信息,可以让用户把握当前仓库的各种趋势。

Settings

这里可以对仓库进行任何设置,用户必须拥有更改设置的权限,才能看到这个页面。

Git安装

目的

通过git管理GitHub托管代码

下载安装

使用apt-get 安装Git
sudo apt-get install git
检查ssh可否连接到GitHub
ssh -T git@github.com
如果看到下面的提示,则证明可以连接
Warning: Permanently added ‘github.com,204.232.175.90’ (RSA) to the list of known hosts.
Permission denied (publickey).
安装SSH keys(这些步骤全部在~/.ssh目录下执行)

第一步,检查使用已有ssh keys,如果有就进行第二步,没有就进行第三步

cd ~/.ssh
ls

查看是否有id_rsa(私钥)和id_rsa.pub(公钥)文件,如果有就进行第二步,将ssh keys备份并移除,没有就进行第三步

第二步,备份并移除已存在的ssh keys(将已经存在的ssh keys备份到key_backup文件夹)

mkdir key_backup
cp id_rsa* key_backup
rm id_rsa*

第三步,创建ssh keys

ssh-keygen -t rsa -C "你自己的github对应的邮箱地址"

这一步在运行时会要求输入文件名:输入id_rsa

会要求输入两次密码:这个密码是你push文件的时候要用的密码,不是github管理者的密码,可以设置也可以不设置直接回车,不设置的话push时就直接上传了

第四步,将新创建的ssh keys添加到GitHub中

使用gedit命令查看id_rsa.pub的内容

gedit id_rsa,pub

在GitHub中,依次点击Settings -> SSH Keys -> Add SSH Key,将id_rsa.pub文件中的字符串复制进去,注意字符串中没有换行和空格。

第五步,再次检查SSH连接情况

ssh -T git@github.com

看到下面提示,说明添加成功

Hi 你的用户名! You’ve successfully authenticated, but GitHub does not provide shell access.

如果在服务器添加公钥后报错,则执行以下语句

 eval "$(ssh-agent -s)"
 ssh-add

开始使用github

配置Git(在~/.ssh目录下执行)
git config --global user.name "你的github用户名"
git config --global user.email "你的github邮箱地址"

如何将本地内容推送到github上的仓库

1. GitHub上建立一个新仓库,假设新建的仓库是dockerfiles
2. 本地建立一个目录,名字与仓库名相同,假设本地目录为~/Documents/dockerfiles
3. 本地仓库初始化
cd ~/Documents/dockerfiles
git init
4. 对本地仓库进行修改(在~/Documents/dockerfiles 目录下执行)

比如说添加一个Readme文件

touch Readme
5. 对刚刚的更改进行提交
git add Readme
git commit -m 'add readme file'
6. push

在执行push时需要将本地仓库与github仓库关联

git remote add origin https://github.com/你的github用户名/你的github仓库.git

然后进行push,需要输入GitHub用户名和密码,在第一次push之前最好先生成令牌,并且将token添加到远程仓库中,详见下一部分,做完之后再回来继续。

先将分支切换到main,因为直接上传的话会上传到master分支,而GitHub目前默认分支是main,最好能直接上传到main,执行以下语句

git checkout -b main

进行push

git push origin main

如果发生报错则执行

git pull origin main
生成令牌

在进行push时需要输入GitHub的用户名和密码,在2021年8月13日开始,不能再使用正常密码进行访问了,要使用token(令牌)进行push操作

寻找设置页面

在GitHub上以此选择【Settings】 -> 【Developer settings】->【Personal access tokens】->【Generate new token】,然后进行身份验证,就可以创建token了

进行相关内容设置
  • Note:验证token的标题,随便起一个就行
  • Expiration:有效期,默认是30天,可以自己进行选择
  • Select scopes:设置权限。如果使用token访问仓库,选择repo;使用token删除仓库,选择delete_repo。其他的根据需要进行勾选
生成

勾选完毕后点击【Generate token】按钮,就可生成。生成的令牌可以保存下来,以便后续可以直接使用

如何使用
第一种方式:

在push操作需要输入密码时,输入token

如果 push 等操作没有出现输入密码选项,请先输入如下命令,之后就可以看到输入密码选项了。

git config --system --unset credential.helper
第二种方式(推荐):

可以将token直接添加到远程仓库链接中,这能避免同一个仓库每次提交代码都要输入token的问题

git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
  • <your_token>:换成你自己得到的token
  • <USERNAME>:是你自己github的用户名
  • <REPO>:是你的仓库名称

如何将本地内容推送到GitHub上已有的仓库

1. 从github上将该仓库clone下来
git clone https://github.com/你的github用户名/github仓库名.git
2. 对clone下来的仓库进行更改

比如添加一个新的文件

touch Readme_new
3. 对刚刚的更改进行提交
git add Readme_new
git commit -m 'add new readme file'
4. push

在执行push时需要将本地仓库与github仓库关联

git remote add origin https://github.com/你的github用户名/你的github仓库.git

有时会出现

fatal: remote origin already exists

此时需要执行以下代码

git remote rm origin

然后进行push,需要输入GitHub用户名和密码,这一步也可以设置token,与上面一样

也可以将分支切换到main

git checkout -b main

此时就可以进行上传了

git push origin main

如果发生报错则执行

git pull origin main
生成令牌

同上

参考资料

[1] Github:10—Github功能之(仓库页功能介绍:Issue、Pull Request、Wiki、Pulse、Graph、Settings)

[2] 记录如何在Github上下载开源代码

[3] git clone的两种方式

[4] ubuntu下安装及配置git的方法(最全超详细教程github)

[5] 2021.8.13起,Github要求使用基于令牌的身份验证 - 前端历劫之路的文章 - 知乎

[6] Github仓库master分支到main分支迁移指南

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值