GitHub的使用教程
第一章:准备工作
1.1:安装Git并设置你的GitHub账户
1.1.1:注册 GitHub 账号:
访问 https://github.com/ 并注册一个新账号。
可以使用qq邮箱进行注册
输入邮箱后点击sign up for GitHub,设置密码后进行注册,输入验证码后注册成功。
1.1.2:安装Git
访问 https://git-scm.com/downloads 下载并安装适合你操作系统的 Git。
这是一个软件,通过该软件的命令行来上传和管理自己的仓库代码,安装步骤比较多,建议找个合适的文章跟着操作,这里为使用教程,不做详细的安装教程。
第二章:上传GitHub
2.1:Git Bash输入GitHub的信息
安装完成后,你需要进行一些基本的配置,打开你电脑的终端(Terminal)或命令提示符(Command Prompt/Git Bash):
-
设置你的用户名:
Bash
git config --global user.name "你的GitHub用户名"
eg:git config --global user.name “xxxxxxx”,那么xxxxxxx是你的GitHub用户名
-
设置你的邮箱(请使用注册 GitHub 时使用的邮箱):
Bash
git config --global user.email "你的GitHub邮箱"
该邮箱是你注册时使用的qq邮箱
2.2:GitHub创建仓库
1)登录你的 GitHub 账号。
2)点击页面右上角的“+”号,然后选择“New repository”。
3)填写仓库信息:
- Repository name (仓库名称): 给你的项目起一个名字,例如
my-first-project
。 - Description (描述): (可选) 简单描述一下你的项目。
- Public / Private (公开/私有):
Public
:任何人都可以看到这个仓库,但只有你(或你授权的人)可以提交代码。Private
:只有你(或你授权的人)可以看到和提交代码。
- Add a README file: (可选但建议勾选) 这会自动生成一个
README.md
文件,用于项目的说明。 - Add .gitignore: (可选) 这是一个非常有用的文件,可以让你忽略某些不需要上传的文件(例如临时文件、编译结果等)。你可以根据你的编程语言选择一个模板。
- Choose a license: (可选) 为你的项目选择一个开源许可证。
4)点击“Create repository”按钮。
2.3:在本地电脑上设置Git仓库
现在,你需要将你的代码文件夹变成一个 Git 可以管理的本地仓库。
这里有两种情况:
-
情况A:你已经有一个现成的项目文件夹需要上传。
-
情况B:你想要从零开始一个新的项目。
情况 A:上传一个已有的项目
-
打开终端或命令提示符。
-
使用
cd
命令进入你的项目文件夹。例如,如果你的项目在D:\Projects\my-project
,则输入:Bash
cd D:/Projects/my-project
其中
D:/Projects/my-project
为你的项目文件索引 -
初始化 Git 仓库:
Bash
git init
这个命令会在你的项目文件夹里创建一个隐藏的
.git
文件夹,用于跟踪代码的变更。 -
关联远程仓库:
-
回到你在 GitHub 上创建的仓库页面。
-
点击绿色的“<> Code”按钮,复制 HTTPS 或 SSH 链接。对于初学者,HTTPS 更简单。
-
在终端中运行以下命令,将你的本地仓库与远程仓库关联起来:
Bash
git remote add origin [你复制的仓库链接]
例如:
git remote add origin https://github.com/your-username/my-first-project.git
-
情况 B:从零开始一个新项目(克隆远程仓库)
如果你在创建远程仓库时勾选了 Add a README file
,更简单的方法是直接将远程仓库“克隆”到你的本地电脑。
-
打开终端或命令提示符。
-
cd
到你想要存放项目的目录下。 -
克隆仓库:
-
回到你在 GitHub 上创建的仓库页面,复制仓库链接。
-
运行
git clone
命令:Bash
git clone [你复制的仓库链接]
例如:
git clone https://github.com/your-username/my-first-project.git
-
-
这会在当前目录下创建一个与你远程仓库同名的文件夹,并且已经自动设置好了本地与远程的关联。你只需要
cd
进入这个文件夹,然后开始添加或修改你的代码文件即可。Bash
cd my-first-project
2.4:上传代码到GitHub
这是最核心的上传步骤。
-
添加文件到暂存区 (Staging Area):
-
这个步骤告诉 Git,你希望将哪些文件的改动包含在下一次的“提交”中。
-
添加所有文件和改动:
Bash
git add .
-
或者只添加某个特定的文件:
Bash
git add 文件名
-
-
提交改动到本地仓库 (Commit):
-
“提交”就像是为你的代码拍一张快照,并附上一句说明。
-
使用
-m
参数来添加本次提交的说明信息,这非常重要,请务必写清楚你做了什么改动。Bash
git commit -m "这里写你的提交信息,例如:Initial commit 或 添加了登录功能"
-
-
将本地提交推送到远程仓库 (Push):
-
这个命令会将你本地的提交上传到你之前关联的 GitHub 远程仓库中。
Bash
git push -u origin main
-
解释:
push
:是推送的动作。-u origin main
:-u
参数会将本地的main
分支与远程的origin/main
分支关联起来,这样以后你再推送时,只需要简单地使用git push
即可。origin
:是你之前为远程仓库设置的别名。main
:是默认的主分支名称。有些旧的仓库可能使用master
作为主分支名,请根据你的实际情况调整。
-
-
输入你的 GitHub 用户名和密码(或 Personal Access Token)。
- 终端可能会提示你输入凭据。
- 注意: 现在 GitHub 不再支持直接使用密码进行命令行验证。你很可能需要创建一个 Personal Access Token (PAT) 来代替密码。
- 如何创建 PAT: 访问 GitHub -> Settings -> Developer settings -> Personal access tokens -> Generate new token。为它设置一个名字并勾选
repo
权限,然后复制生成的 Token。在终端提示输入密码时,粘贴这个 Token。
- 如何创建 PAT: 访问 GitHub -> Settings -> Developer settings -> Personal access tokens -> Generate new token。为它设置一个名字并勾选
上传完成后,刷新你的 GitHub 仓库页面,你就能看到你的代码文件了!
总结流程 (Cheat Sheet)
对于一个已有的项目,每次更新代码的流程如下:
Bash
# 1. 进入你的项目文件夹
cd /path/to/your/project# 2. 查看当前状态(可选,但好习惯)
git status# 3. 添加所有改动到暂存区
git add .# 4. 提交改动并写下说明
git commit -m "更新了xxx功能"# 5. 推送到 GitHub
git push
希望这个指南对你有帮助!祝你使用 GitHub 愉快!
出现错误解决方法:
1:error: remote origin already exists.
这个错误的意思是:你正在尝试添加一个名为 origin
的远程仓库地址,但是你的本地 Git 仓库已经配置了一个同名的远程地址。
原因是2.3步骤错误
解决方法:
步骤1:查看当前关联的远程仓库地址,在你的项目文件夹的终端里,运行以下命令来确认一下 origin
目前指向哪里:
Bash
git remote -v
它可能会显示类似这样的信息:
origin https://github.com/some-other-user/some-other-repo.git (fetch)
origin https://github.com/some-other-user/some-other-repo.git (push)
步骤2:删除旧的 origin
关联 运行以下命令:
Bash
git remote rm origin
步骤3:重新添加正确的远程仓库地址,现在,你可以重新执行之前出错的那一步,添加你自己的、正确的 GitHub 仓库地址:
Bash
git remote add origin [你复制的正确仓库链接]
例如: git remote add origin https://github.com/your-username/my-first-project.git
之后重新添加关联地址即可
2,error: src refspec main does not match any
错误原因
error: src refspec main does not match any
这个错误的核心意思是:Git 试图推送一个名为 main
的本地分支,但是在你的本地仓库里,它找不到这个分支。
为什么会这样?主要有两个原因:
- 你的默认分支不叫
main
:- 较新版本的 Git 默认创建的分支名叫
main
。 - 但是,很多旧版本的 Git 或者一些 Git 客户端工具,默认创建的第一个分支名叫
master
。 - 所以,你本地的实际分支很可能是
master
,而你却命令它去推送main
分支。
- 较新版本的 Git 默认创建的分支名叫
- 你还没有进行过任何一次提交 (commit):
- 如果你用
git init
初始化了一个仓库,但没有执行过git add
和git commit
,那么这个仓库里其实是没有任何分支的。分支是在你第一次提交时才被真正创建的。
- 如果你用
如何解决
我们可以通过以下步骤来诊断并解决这个问题。
1)第一步:确认你当前的本地分支名
在你的终端里,运行以下命令来查看你所有的本地分支,以及你当前所在的分支(前面会有一个 *
号):
Bash
git branch
你很可能会看到以下两种情况之一:
-
情况A:输出是
\* master
* master
这说明你的分支名是
master
,而不是main
。 -
情况B:命令没有任何输出 这说明你还没有创建任何提交,因此分支也还未被创建。
2)第二步:根据情况解决问题
针对情况A:分支名叫 master
既然你的分支是 master
,那么你在推送的时候,也应该推送 master
分支。把最后一步的命令修改一下即可:
Bash
# 使用 master 替代 main
git push -u origin master
(推荐的长期方案) 为了和现在 GitHub 的主流保持一致(GitHub 新建的仓库默认分支都是 main
),你也可以选择将本地的 master
分支重命名为 main
:
Bash
# 1. 重命名分支
git branch -m master main# 2. 现在再执行推送 main 分支的命令
git push -u origin main
针对情况B:没有任何分支
这说明你忘记了 commit
(提交)这一步。在你推送之前,必须要有一次提交,告诉 Git 你要上传的内容是什么。
请按顺序执行以下命令:
Bash
# 1. 添加所有文件到暂存区
git add .# 2. 创建一个提交,并附上说明信息
git commit -m "Initial commit"
执行完 commit
之后,Git 会自动为你创建一个默认分支(可能是 main
或 master
)。现在,你可以再次尝试推送了。
- 先检查一下新创建的分支叫什么:
git branch
- 然后执行推送:
- 如果分支是
main
:git push -u origin main
- 如果分支是
master
:git push -u origin master
- 如果分支是
总结:你应该怎么做
- 先运行
git branch
检查你当前的分支名。 - 如果显示
\* master
,就用git push -u origin master
命令进行推送。 - 如果什么都没显示,就先运行
git add .
和git commit -m "Initial commit"
,然后再进行推送。
绝大多数情况下,你的问题应该出在分支名叫 master
而不是 main
。