跳转至

GitHub 托管项目的使用

1. GitHub 托管前期准备

网址:www.github.com

准备:github上的账号(若无注册即可)

环境:Linux、Windows (当前例子)、Maco OS都可以

软件工具:git

2. GitHub 托管步骤

将本地代码放到Github

这里将举例子:

前提Git都配置了,用户名,邮箱基本信息;

2.1 创建Git项目

步骤一:本地创建项目和git相关

在本地创建一个git

image-20231209163436387

image-20231209164520738

# 创建一个git
git init
# 这里创建一个README文件, 有些电脑可能没有这个命令,可以手动创建
touch README.md
# 放入暂存区
git add .
git commit -m "first commit"

2.2 GitHub SSH Key 设置

步骤二:与github仓库连接

由于本地Git仓库和Github仓库之间的传输是通过SSH加密的

这里创建一个公钥和私钥

image-20231209171548148

# 当前用户下创建.ssh 文件存放秘钥相关
mkdir ~/.ssh
# 生成公钥私钥
ssh-keygen -t rsa -C "填写你的邮箱"
# 生成完毕后,在~/.ssh 有两个文件

将生成SSH秘钥放入Github

头像 ——>Settings ——>SSH and GPG keys ——>New SSH key

image-20231209172156501

image-20231209172414715

最后点击Add SSH key,输入Github账户密码确认;

image-20231209172725483

看到已经添加成功。

打开刚刚在Github 创建的项目,复制SSH git地址

image-20231209172907651

2.3 本地仓库与远端仓库建立连接

本地仓库与远端仓库关联:

git remote add origin [email protected]:zalebool/GitHub_test.git

image-20231209173354316

这里遇到远程仓库存在,这里就以本地为准,删除远端,然后推送

# 推送到远端
git push -u origin master

# 强制推送到远端,以本地为准,强制推送
git push -u origin master --force

2.4 GitHub 的推送和拉取

正常推送步骤:(假设远端分支为maser)

git pull origin master
git add .
git commit -m "xxxxxx"
git push origin master

3. GitHub其他常用

3.1 为某个commit添加tag 标签

为提交添加标签

# 为当前提交添加标签
git tag v1.0.0

# 或者为特定提交(使用提交的哈希值)添加标签
git tag v1.0.0 <commit-hash>

以上命令创建了一个名为 "v1.0.0" 的标签。请根据你的版本号或标记的规则进行命名。

推送标签到远程服务器

# 推送所有标签到远程仓库
git push origin --tags

这会将本地所有的标签推送到远程仓库。如果你只想推送特定标签,可以使用:

# 推送特定标签到远程仓库
git push origin v1.0.0

3.2 添加release

添加release 先创建推送标签

# 为当前提交创建标签(例如,v1.0.0)
git tag v1.0.0

# 推送标签到远程仓库
git push origin v1.0.0

然后在GitHub仓库中,选择Releases

image-20231209222826570

  • Tag version: 选择刚才创建的标签版本。
  • Release title: 输入一个标题,通常是版本号。
  • Description: 输入关于此版本的描述,包括更新内容、修复的问题等。
  • Attach binaries by dropping them here or selecting them: 如果有二进制文件(例如编译后的程序、安装包等),你可以在这里上传。

点击 "Publish release" 完成发布。

4. 遇到的问题与解决

错误处理1

image-20231209173221945

解决办法:

# 删除远端
git remote rm origin 

警告问题1

warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory

一般在windows 下回车符(回车符CR+换行符LF 也就是\r\n)和Linux 的回车符(LF一个字符\r)不一样,

解决办法:

# 提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true