github的使用方法集
一、配置github权限
1. 设置账号信息
1 | git config --global user.name "GitHub用户名" |
2.本机key权限
1 | ssh-keygen -t rsa |
将公钥复制到github: cat ~/.ssh/id_rsa.pubsetting -> Deploy keys / Add new
3.测试本机github连接
1 | ssh -T git@github.com |
另一种方式
利用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 | cd /你的项目目录 |
第 2 步:添加所有文件,并做第一次提交
bash
1 | git add . |
如果项目里有不想上传的文件(如
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 | git branch -M main # 把默认分支名改为 main(和 GitHub 一致) |
第 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 | # macOS |
1 | # 安装完成后,登录你的 GitHub 账号 |
登录时按提示选择认证方式(浏览器或Token)即可。
🚀 一条命令创建并推送仓库
在你的项目目录下(已经完成 git init 和 git commit),执行这一条命令就能在GitHub上创建空仓库并推送代码:
bash
1 | gh repo create <你的仓库名> --private --source=. --remote=origin --push |
命令解释:
<你的仓库名>:替换成你想用的仓库名。如果不指定组织名/仓库名,会默认创建在你的个人账号下。--private:创建为私有仓库。如果要公开,可以换成--public。--source=.:用当前目录作为本地源码。--remote=origin:将新建的GitHub仓库添加为名为origin的远程地址。--push:推送本地提交到新仓库。
✨ 一条命令全自动创建(含README)
如果你连 git init 和 git commit 都没做,可以用这个命令,它会自动初始化、创建README并完成推送:
bash
1 | gh repo create <你的仓库名> --public --clone |
命令会新建一个带README的公开仓库,并克隆到本地。
🤖 完全交互式创建
如果想在每一步都确认,直接运行gh repo create,然后跟着提示一步步操作就行。
四、将拉取的库推送到自己的仓库,并略过相关文件和文件夹。
这个需求分两步:拉取别人的库 → 推送到自己的仓库,同时要排除某些文件/文件夹。我按完整流程给你讲清楚。
🎯 整体思路
text
1 | 克隆别人的库 → 修改远程地址为自己的 → 配置 .gitignore 排除文件 → 推送 |
📝 完整操作流程
第 1 步:克隆别人的仓库
1 | # 克隆到本地(可以指定文件夹名) |
如果只想拉取代码不要历史记录,可以加
--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 | # 查看当前远程地址(应该指向别人的) |
第 4 步:配置要忽略的文件/文件夹
在项目根目录创建或编辑 .gitignore:
bash
1 | nano .gitignore |
写入你想排除的内容,例如:
gitignore
1 | # 依赖包 |
第 5 步:如果文件已被 Git 追踪,需要先移除
这一步很关键! .gitignore 只对未追踪的文件生效。如果某些文件已经被提交过,需要先移除追踪:
bash
1 | # 从 Git 追踪中移除,但保留本地文件 |
--cached的意思是:只从 Git 索引中删除,本地文件不会丢。
第 6 步:提交并推送
bash
1 | # 添加所有改动 |
🔄 如果只想保留当前代码,不要历史记录
有时候你不想带上别人的提交历史,只想推一份干净的代码:
bash
1 | cd my-project |
这样推送上去的就是一个全新的、无历史的仓库,只包含你想要的代码。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com