github的使用方法集

github的使用方法集

一、配置github权限

1. 设置账号信息

1
2
git config --global user.name "GitHub用户名" 
git config --global user.email "GitHub邮箱"

2.本机key权限

1
ssh-keygen -t rsa  

将公钥复制到github: cat ~/.ssh/id_rsa.pub
setting -> Deploy keys / Add new

3.测试本机github连接

1
2
3
4
5
6
7
ssh -T git@github.com

The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Hi JakeLin0fly! You've successfully authenticated, but GitHub does not provide shell access

另一种方式

利用gh

1
apt update && sudo apt install gh

登陆:

1
gh auth login

按提示选择:

  • 选 GitHub.com
  • 选 HTTPS
  • 选 Login with a web browser(会给你一个 8 位码)
  • 浏览器打开 github.com/login/device,输入码,授权
  • 完成!gh 会自动帮你配置好 Git 认证

之后 git push 直接用 HTTPS 就行,不会弹密码框。


二、分享源码github

前面已经配置了github权限

第 1 步:进入项目目录,初始化 Git

bash

1
2
cd /你的项目目录
git init

第 2 步:添加所有文件,并做第一次提交

bash

1
2
git add .
git commit -m "first commit"

如果项目里有不想上传的文件(如 node_modules/.env__pycache__/),先新建一个 .gitignore 文件再执行上面命令。


第 3 步:在 GitHub 上创建空仓库

  • 登录 GitHub,点右上角 +New repository
  • 不要勾选 “Add a README”、“Add .gitignore”、“Add license”(因为你的本地已有代码)
  • 创建完后,你会看到一个页面,里面有远程仓库地址,类似:
    • git@github.com:你的用户名/仓库名.git(SSH)
    • https://github.com/你的用户名/仓库名.git(HTTPS)

第 4 步:关联本地仓库到远程

bash

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

(如果你用的是 HTTPS 地址,把上面的地址替换掉就行)


第 5 步:推送到 GitHub

因为你的本地仓库和远程都是全新的,直接推:

bash

1
2
git branch -M main          # 把默认分支名改为 main(和 GitHub 一致)
git push -u origin main # -u 是建立关联,以后直接 git push 就行

第 6 步(可选):验证

去 GitHub 仓库页面刷新,应该就看到你的代码了。


常见卡住的地方(提前帮你避开)

问题 解决办法
ERROR: Permission denied 说明 SSH 没配好,用 ssh -T git@github.com 测试,或改用 HTTPS 地址
failed to push some refs 远程有 README 或文件(你创建时勾选了),先 git pull origin main --rebase 再 push
想换分支名 git branch -m 旧名字 新名字

如果你用的是 HTTPS 地址,第一次 push 会弹窗要求输入用户名和 Personal Access Token(不能用登录密码)。如果不想每次输入,可以改用 SSH 地址,或者配置 credential helper。

三、 用命令在 GitHub 上创建空仓库

🛠️ 准备:安装并登录 GitHub CLI

如果还没安装,可以参考以下命令:

1
2
3
4
5
6
7
8
9
10
11
# macOS
brew install gh

# Ubuntu/Debian
sudo apt update && sudo apt install gh

# Arch Linux
sudo pacman -S github-cli

# Windows (winget)
winget install --id GitHub.cli
1
2
# 安装完成后,登录你的 GitHub 账号
gh auth login

登录时按提示选择认证方式(浏览器或Token)即可。

🚀 一条命令创建并推送仓库

你的项目目录下(已经完成 git initgit commit),执行这一条命令就能在GitHub上创建空仓库并推送代码:

bash

1
gh repo create <你的仓库名> --private --source=. --remote=origin --push

命令解释:

  • <你的仓库名>:替换成你想用的仓库名。如果不指定组织名/仓库名,会默认创建在你的个人账号下。
  • --private:创建为私有仓库。如果要公开,可以换成 --public
  • --source=.:用当前目录作为本地源码。
  • --remote=origin:将新建的GitHub仓库添加为名为 origin 的远程地址。
  • --push:推送本地提交到新仓库。

✨ 一条命令全自动创建(含README)

如果你连 git initgit commit 都没做,可以用这个命令,它会自动初始化、创建README并完成推送:

bash

1
gh repo create <你的仓库名> --public --clone

命令会新建一个带README的公开仓库,并克隆到本地。

🤖 完全交互式创建

如果想在每一步都确认,直接运行gh repo create,然后跟着提示一步步操作就行。


四、将拉取的库推送到自己的仓库,并略过相关文件和文件夹。

这个需求分两步:拉取别人的库 → 推送到自己的仓库,同时要排除某些文件/文件夹。我按完整流程给你讲清楚。


🎯 整体思路

text

1
克隆别人的库 → 修改远程地址为自己的 → 配置 .gitignore 排除文件 → 推送

📝 完整操作流程

第 1 步:克隆别人的仓库

1
2
3
4
# 克隆到本地(可以指定文件夹名)
git clone https://github.com/别人的用户名/仓库名.git my-project

cd my-project

如果只想拉取代码不要历史记录,可以加 --depth=1(浅克隆,更快):

bash

1
git clone --depth=1 https://github.com/别人的用户名/仓库名.git my-project

第 2 步:在 GitHub 上创建自己的空仓库

bash

1
gh repo create my-project --private

或者去网页手动创建(不要勾选 README、.gitignore、license)。


第 3 步:修改远程地址为自己的仓库

bash

1
2
3
4
5
6
7
8
# 查看当前远程地址(应该指向别人的)
git remote -v

# 改成自己的仓库地址
git remote set-url origin https://github.com/你的用户名/my-project.git

# 确认修改成功
git remote -v

第 4 步:配置要忽略的文件/文件夹

在项目根目录创建或编辑 .gitignore

bash

1
nano .gitignore

写入你想排除的内容,例如:

gitignore

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 依赖包
node_modules/
venv/
__pycache__/
*.pyc

# 环境配置
.env
.env.local
config/secrets.json

# 日志和缓存
*.log
.cache/
dist/
build/

# IDE 配置
.vscode/
.idea/
*.swp

# 系统文件
.DS_Store
Thumbs.db

# 你自己的私密文件
private/
my-notes/

第 5 步:如果文件已被 Git 追踪,需要先移除

这一步很关键! .gitignore 只对未追踪的文件生效。如果某些文件已经被提交过,需要先移除追踪:

bash

1
2
3
4
5
6
7
8
# 从 Git 追踪中移除,但保留本地文件
git rm -r --cached node_modules/
git rm -r --cached .env
git rm -r --cached 你想排除的文件夹/

# 或者一次性移除所有已追踪但现在被忽略的文件
git rm -r --cached .
git add .

--cached 的意思是:只从 Git 索引中删除,本地文件不会丢


第 6 步:提交并推送

bash

1
2
3
4
5
6
7
8
9
10
11
12
# 添加所有改动
git add .

# 提交
git commit -m "init: 基于 xxx 项目,排除敏感/无关文件"

# 推送(如果之前是 master 分支)
git push --set-upstream origin master

# 或者推送到 main 分支
git branch -M main
git push --set-upstream origin main

🔄 如果只想保留当前代码,不要历史记录

有时候你不想带上别人的提交历史,只想推一份干净的代码:

bash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cd my-project

# 删除原有的 .git 目录
rm -rf .git

# 重新初始化
git init

# 创建 .gitignore 排除文件(同第 4 步)

# 添加并提交
git add .
git commit -m "init: 导入项目"

# 关联自己的远程仓库
git remote add origin https://github.com/你的用户名/my-project.git
git branch -M main
git push -u origin main

这样推送上去的就是一个全新的、无历史的仓库,只包含你想要的代码。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

×

喜欢就点赞,疼爱就打赏