Skip to content

Git 从零开始:init 和 clone 怎么选

很多新手第一次提交代码时,会卡在一个问题:我到底应该 git init,还是 git clone

简单判断:

当前情况该怎么做
本地已经有项目,GitHub 上还没有对应仓库git init
GitHub 上已经有仓库,想下载到电脑git clone
本地项目已经绑定过 GitHub直接 git statusgit push

一、先看当前项目有没有 Git

在项目文件夹里执行:

bash
git status

如果能看到当前分支和文件状态,说明已经是 Git 仓库。

如果看到:

text
not a git repository

说明当前文件夹还没有初始化 Git。

二、情况一:本地已有项目,用 git init

进入项目根目录,也就是能看到 package.jsondocssrc 等项目文件的地方。

执行:

bash
git init
git status --short

确认文件列表没问题后,提交第一次记录:

bash
git add .
git commit -m "feat: 初始化项目"

然后去 GitHub 新建一个空仓库。空仓库是指不要勾选 README、LICENSE、.gitignore

绑定远程仓库:

bash
git remote add origin https://github.com/你的用户名/你的仓库.git
git branch -M main
git push -u origin main

三、情况二:GitHub 已有仓库,用 git clone

如果 GitHub 上已经有仓库,推荐直接克隆:

bash
git clone https://github.com/你的用户名/你的仓库.git

进入项目:

bash
cd 你的仓库

再开始修改文件。

这种方式最稳,因为远程地址、分支和已有提交都会自动配置好。

四、不要把两个项目硬合在一起

如果你本地已有项目,GitHub 仓库里也有 README 或其他文件,第一次 push 可能会失败。

常见报错:

text
rejected
fetch first
non-fast-forward

这时不要直接强制推送:

bash
git push --force

强制推送可能覆盖远程内容。新手遇到这种情况,建议先把报错完整复制给 AI,让它判断该 pull、合并,还是重新建空仓库。

五、检查远程仓库

查看当前绑定了哪个 GitHub 仓库:

bash
git remote -v

如果地址错了,可以先问 AI:

text
请帮我看一下 git remote -v 的结果,判断当前项目绑定到了哪个 GitHub 仓库。不要直接修改配置。

六、推荐新手流程

最稳的顺序:

  1. 先确认当前目录:pwd
  2. 确认当前目录是项目根目录
  3. 执行 git status
  4. 如果没有 Git,再决定 git initgit clone
  5. 提交前检查 git diff
  6. 推送前确认远程仓库地址

注意

不要把 API Key、密码、.env、私密截图提交到 GitHub。提交前一定要检查文件列表和改动内容。

基于 VitePress 构建