# GitHub 使用

如何在Github上创建自己的开源代码仓库,首先先申请一个Github账号,开始创建你的代码仓库,然后使用SSH方式提交你的Git代码, 最后通过 JitPack 来构建当前版本并进行发布,你在Github开源的库,将会被全球开发者搜索到并使用

# 版本发布

如果你已经有了自己的代码仓库 如. Github 线条组件库 (opens new window)

  1. 点击标签 Releases

  2. 点击按钮 Draft a new release

  3. 创建Tag标签

    • 输入Tag version 如:0.1.6
    • 输入Release title 如:0.1.6正式版
    • 输入Describe this release 如:修复显示Bug
  4. 点击按钮 Publish release(发布版本)

  5. 打开Git存储库地址 (opens new window)

  6. 输入 unknownzhouz/LayoutLine , 点击按钮 Look up

  7. Version列表中,点击 Get it 按钮开始编译,等待中... ...

  8. Get it 按钮显示 绿色 ,表示构建成功,可以被使用

  9. 使用开源库

    把它添加到你的仓库文件 build.gradle

    allprojects {
    	repositories {
    		...
    		maven { url 'https://jitpack.io' }
    	}
    }
    

    添加依赖关系

    dependencies {
    	implementation 'com.github.unknownzhouz:LayoutLine:Tag'
    }
    

# 提交代码

Git可以通过ssh方式和https方式连接服务器上的仓库

  1. https: 比较方便,但是每次fetch和push代码都需要输入账号和密码,略显麻烦官方已经不建议
  2. SSH: 传输前压缩数据,传输效率高,不需要每次提供账号密码

# Git账号密码

Git的user name和email设置(有提交过代码可跳过这一步)

$ git config --global user.name "xxxx"
$ git config --global user.email "xxxx@qq.com"

# 生成秘钥

使用你注册Github的邮箱生成秘钥,拷贝控制台输出

ssh-keygen -t rsa -C "xxxx@qq.com"

控制台输出

key-create

C:\Users\zhengz\.ssh目录会生成id_rsaid_rsa.pub两个文件,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人;如果之前此电脑已经生成过密钥,根据提示在overwrite 的时候选择 y 覆盖即可。

# 添加秘钥

在GitHub的账户中添加SSH Key,GitHub才能根据此进行加密解密,从而判断此提交是由你本人操作。

id_rsa.pub中的公钥文本复制到下面文本框中

key-added

# 测试秘钥

测试SSH key是否设置成功(很重要一步

$ssh -T git@github.com
The authenticity of host 'github.com (20.205.243.166)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes

是否继续连接?输入 yes

输出如下,则表示通过

Hi unknownzhouz! You've successfully authenticated, but GitHub does not provide shell access.

# 配置项目连接

设置项目连接方式,打开项目工程下的 隐藏文件夹 D:\Github\LayoutLine\.git 中的 config 文件

// 修改前
[remote "origin"]
	url = https://github.com/unknownzhouz/LayoutLine.git
	fetch = +refs/heads/*:refs/remotes/origin/*
	
// 修改后	
[remote "origin"]
	url = git@github.com:unknownzhouz/LayoutLine
	fetch = +refs/heads/*:refs/remotes/origin/*

之后的所有提交都会变为 SSH连接方式,仓库代码就可以正常推送push和拉取pull 等操作

最后更新时间: 11/24/2021, 1:59:05 AM