[git]先创建远程仓库or先创建本地项目

20 阅读2分钟

问题:一般来说,是先在github上创建一个项目,然后clone到本地?还是先在本地创建项目然后git push到github上呢?

两种方式都常见

但日常更推荐"先在GitHub建仓库,再 clone 到本地

尤其是团队协作或已有远程仓库的场景

1/先在GitHub建仓库 → clone 到本地(推荐)

流程:

  1. GitHub 上 New repository,建好后得到仓库地址
  2. 本地执行 git clone <地址>
  3. 在克隆下来的目录里开发、提交、push

优点:

  • 远程和本地的追踪关系自动配好,main 自动追踪 origin/main,不用手动 git branch -u
  • 初始就带 .gitignore、README、LICENSE 等(建仓库时可勾选生成)
  • 多人协作时,别人已经建好仓库,你只能 clone
  • 避免"本地先 init、push 时远程已有提交导致冲突"的麻烦

适合:团队项目、从零开始的新项目、克隆别人的仓库。



2/先在本地创建项目 → push到GitHub

流程:

git init
git add .
git commit -m "init"

# GitHub 上建一个空仓库(不要勾选 README/.gitignore,否则会有初始提交)
git remote add origin <地址>
git branch -M main
git push -u origin main

优点:

  • 先本地开发、后决定要不要公开/上传,适合个人实验项目
  • 不想在 GitHub 网页上操作时更顺手

注意点:

  • GitHub 建仓库时务必建"空仓库"(不勾 README、.gitignore、LICENSE),否则远程会有一个初始提交,和本地历史无共同祖先,push 会被拒,得先 git pull --allow-unrelated-histories 或强推
  • git push -u origin main 里的 -u 很关键,它建立本地 main 对 origin/main 的追踪关系,之后才能直接 git pull/git push

适合:个人项目、本地已有代码想上传、离线先开发。

怎么选

场景建议
团队协作 / 别人已建好仓库先 GitHub,clone
全新项目、想用 GitHub 生成的 .gitignore/README先 GitHub,clone
本地已有一堆代码要上传本地 init,再 push(远程建空仓库)
个人实验、不确定要不要公开本地 init,再 push

一个容易踩的坑

如果选了方式二,远程建仓库时千万别勾选"Add a README"等初始化选项。这是新手最常见的 push 失败原因——远程有提交、本地也有提交,两条历史不相干,Git 拒绝合并。要么建空仓库,要么用 --allow-unrelated-histories 处理。

总结:没有绝对对错,但"先 GitHub 建仓库再 clone"能自动配好追踪关系、少踩坑,是更省心的默认选择;本地已有代码或想先离线开发时,再用"本地 init → push"的方式。