跳至内容
GitTree
Git 基础知识阅读 1 分钟

如何初始化新的 Git 存储库

只需一个命令,文件夹即可成为 Git 存储库。以下是从 git init 到第一次推送的完整路径、git init 与 git clone 的不同之处,以及如何纠正人们一开始所犯的错误。

撰写者 Kodmora

GitTree 背后的软件公司

已更新
  • Git 基础知识
  • 远程仓库和推送
在此页面上

要初始化 Git 存储库,请在终端中打开该文件夹并运行 `git init -b main`。 Git 创建一个隐藏的 .git 文件夹和一个空的 main 分支。您的文件尚未被跟踪:运行 git add . 和 git commit -m "Initial commit" 以保存第一个版本。

git init 有什么作用?

git init 创建一个 .git 文件夹,其中包含存储库的数据库、设置和挂钩。该文件夹是存储库:它保存了整个历史记录。您的项目文件完全保留在原来的位置,并且不会提交或发送任何内容。在现有存储库中再次运行它是安全的。 Git 打印“重新初始化现有的 Git 存储库”并保留您的历史记录。

如何逐步初始化存储库?

cd my-project
git init -b main

# keep generated files out before the first add
printf "node_modules/\ndist/\n.env\n" > .gitignore

git add .
git status
git commit -m "Initial commit"
  1. git init -b main 创建以 main 作为其第一个分支的存储库(Git 2.28 或更高版本)。
  2. .gitignore 列出了 Git 永远不应该跟踪的内容。将其写在第一个 git add 之前,因为已跟踪的文件将保持跟踪状态。
  3. git status 显示第一个提交将包含的内容。阅读它以获取秘密并构建输出。
  4. git commit 保存第一个版本。如果 Git 询问您是谁,请先设置 user.name 和 user.email。
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

如何使 main 成为默认分支?

较旧的设置会创建 master。设置默认值一次,或者重命名存储库中没有值得保留在旧名称下的提交的分支:

# every new repository from now on
git config --global init.defaultBranch main

# this repository only
git branch -m master main

如何将新存储库连接到 GitHub、GitLab 或 Bitbucket?

在您的主机上创建一个空存储库,没有自述文件或许可证,因此两个历史记录匹配。然后将其添加为远程并推送:

git remote add origin git@github.com:you/my-project.git
git push -u origin main

-u 将您的分支链接到远程分支,这在如何设置上游分支 中进行了解释。如果您根本不喜欢任何命令,请阅读不使用命令行将项目推送到 GitHub。

git init 和 git clone 有什么区别?

git init 与 git clone 比较
git initgit clone
开始于您计算机上的文件夹已经存在的存储库
历史空远程仓库的完整历史
远程没有,直到您添加一个origin 已为您设置
当你开始一个新项目您加入现有项目

git init 可能会出现什么问题?

我在错误的文件夹中运行 git init

删除刚刚创建的 .git 文件夹。首先使用 git rev-parse --show-toplevel 检查,它会打印存储库的根目录,以便您删除正确的根目录。

git rev-parse --show-toplevel
rm -rf .git

Git 说“不是 git 存储库”

您位于任何存储库之外。运行 git init 创建一个,或先运行 cd 到项目中。

git status 中不出现空文件夹

Git 跟踪文件,而不是文件夹。向其中添加一个文件(例如 .gitkeep)以使其显示。

什么是 git init --bare?

裸存储库有历史记录,但没有工作文件,因此没有人在其中进行编辑。服务器使用裸存储库作为您推送到的共享副本。对于您自己计算机上的项目,您需要一个普通的 git init。

如何在 GitTree 中初始化存储库

  1. 打开对话框

    在新选项卡页面上选择 Init,或从命令面板运行 Initialize Repository…。

  2. 选择地点

    在 位置 中键入文件夹或使用 浏览...。它可以是新的、空的或没有 Git 的项目。

  3. 命名分支并选择模板

    设置 初始分支,然后选择 .gitignore 模板 和 许可证。现有文件永远不会被替换。

  4. 初始化

    按初始化。存储库在其自己的选项卡中打开,您的文件已准备好进行首次提交。

GitTree 中的“初始化存储库”对话框:位置、初始分支和创建它的按钮。
GitTree 中的“初始化存储库”对话框:位置、初始分支和创建它的按钮。GitTree 与演示存储库的接口。

请参阅创建存储库 了解每个选项,并参阅创建、克隆和开放课程 进行练习。

常见问题

git init 会删除我的文件吗?

不。它仅添加一个 .git 文件夹。您的文件将保持原样,并且在您添加它们之前它们不会被跟踪。

我可以在现有项目上运行 git init 吗?

是的。打开项目文件夹并运行它。在第一个 git add 之前添加 .gitignore,以便生成的文件不会出现。

如何使用 main 而不是 master 来初始化存储库?

运行 git init -b main,或设置 git config --global init.defaultBranch main 一次。

我应该在另一个存储库内的文件夹中运行 git init 吗?

通常不会。另一个存储库中的存储库会混淆两者。如果您需要一个项目位于另一个项目中,请使用子模块。

如何撤消 git init?

删除 .git 文件夹。您的文件会保留,并且该文件夹不再是存储库。历史记录中的所有内容都已消失,因此仅在您刚刚创建的存储库中执行此操作。

来源

有关其他产品的声明已根据其位于 2026年11月7日 的官方页面进行了检查。价格和功能发生变化;供应商的页面是事实的来源。