[Tutorials] 通过git和ssh提交到github的方法
Tofloor
poster avatar
曾子康 TIM
deepin
6 hours ago
Author

通过git和ssh提交到github的方法

写作原因:

我有一个朋友

不知是多少天前问我:通过网页端提交到github的文件如果改了名,或者不需要了,除了一个一个删,还有什么不吃操作的方法?

我:用git push -f啊(附带这篇文章)

......

朋友:学不会!我把文件发给你,github帐号,密码,2FA **(危险操作,请勿模仿)**也给你,你帮我搞吧

......

提示

有写提示要写在前面:

0.不要随便把密码给别人

1.不要暴露自己的私钥

文字版:

用于演示git与github提交操作

仓库地址

main.cpp就是一个hello world

编译指令

g++ -std=c++11 -O2 -o build/hello_world main.cpp

初始项目结构

.
├── build
│   └── hello_world
├── main.cpp
└── README.md

在github中创建仓库

在github的Repositories中点击New新建仓库

0.安装git

如果没有安装git,请自行安装git

(使用

git --version

判定是否安装git)

安装git

windows

对于windows,使用git Bash

https://git-scm.com/install/windows看看吧

在windows上,我是用ucrt的pacman装的git,git Bash我真不懂

linux(debian系)

对于linux(debian系),使用apt安装

sudo apt install git

1.设置git全局用户信息

注:你可以不使用--global参数,使其只影响当前仓库,但需要在对应仓库文件夹中执行,这需要在git init后才能执行

名字与邮箱应是github的用户名和邮箱

git config --global user.name "你的名字"

git config --global user.email "你的邮箱@example.com"

此处的email可使用github提供的匿名邮箱

https://github.com/settings/emails的Keep my email addresses private中查看匿名邮箱

最后使用

git config --global --list

校对信息

2.配置ssh

0.检查是否有现成的ssh key

ssh key在~/.ssh,在windows中是C:\Users\用户名.ssh

如果存在id_rsa(私钥)和id_rsa.pub(公钥),就说明有现成的ssh key,就无需进行第1步

1.生成ssh key

注: github建议使用ed25519算法而不是rsa算法,但我学这个的时候用的是rsa,所以更习惯用rsa

ed25519:

ssh-keygen -t ed25519 -C "your_email@example.com"

rsa:

ssh-keygen -t rsa -C "你的邮箱@example.com"

2.将公钥设置到github

id_rsa.pub(公钥)在~/.ssh,在windows中是C:\Users\用户名.ssh

https://github.com/settings/keys点击New SSH key

将id_rsa.pub中的内容复制到Key中,并写一个title,最后点击Add SSH Key

3.初始化git

使用

git init

初始化

通过git clone得到的项目已经完成初始化(如果没有特殊的指令来取消初始化)

4. .gitignore

我们不希望提交什么,就在.gitignore中写什么

例如这里不希望提交build

.gitignore文件

build

5. 创建提交

0.git add

使用git add 添加文件/文件夹

如果确保了所有不会提交的文件都写在了.gitignore中,可以直接

git add .

1.git commit -m ""

使用

git commit -m "提交信息"

创建提交

关于签名提交:

若启用签名提交,会在github中显示Verified字样

git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_rsa.pub
git commit -S -m "提交信息"

6.push到github

0.设置分支(首次时执行)

注:git一般使用master分支,而github一般使用main分支

git branch -M 仓库分支

例:git branch -M main

1.设置github项目ssh(首次时执行)

git remote add 仓库标记名称 github项目ssh

例:
git remote add PPT_LibreOffice_Previewer git@github.com:3084793958/PPT_LibreOffice_Previewer.git

2.提交

git push -u 仓库标记名称 仓库分支

例:
git push -u PPT_LibreOffice_Previewer main

注:如果github仓库中的进度与本地仓库进度不同,是无法提交的

这时需要加上 -f 参数

视频演示:

https://www.bilibili.com/video/BV1PyMM69EvM/

Reply Favorite View the author
All Replies
avatar
kookboy
deepin
5 hours ago
#1

不错的基础知识,支持一下~

like

Reply View the author