行者孙Python

立项篇-Day2|建档立卷:git init 初始化仓库,.git 是什么

📖 知识点

1. 什么是 git init?

git init 是在当前目录初始化一个 Git 仓库:让 Git 开始管理这个文件夹里的代码,从此可以存档、回滚、追踪。

git init

 

运行示例:

Initialized empty Git repository in /home/user/外卖App/.git/

 

看到 "Initialized empty Git repository" 就说明建档成功,Git 开始接管这个目录了。

💡 生活比喻git init 像 "给项目开一个档案柜":之后每次改代码(提交),就像往柜子里放一张存档卡片。没开柜子之前,改什么都没记录;开了柜子,从此有据可查。

2. 神秘的 .git 文件夹

git init 后,目录里会多出一个隐藏文件夹 .git,它就是 "档案柜本身":

ls -a      # 能看到 .git

 

.git 里存着 Git 的全部历史记录:所有提交、分支、配置都在这。它就是你项目的 "完整档案"。

⚠️ 重点:.git 是隐藏文件,用 ls -a 才看得到;它非常关键,不要手动删它,删了历史全丢。

3. 怎么判断当前是不是仓库

git status

 

运行示例:

 

On branch master
No commits yet

 

在仓库里能正常输出状态;如果不在仓库会提示 "not a git repository"。git status 以后天天用,先认识它。

4. 建档要建在哪?

在项目根目录建档(就是放着 "外卖 App.py" 的那个文件夹):

 

cd ~/外卖App      # 先进到项目文件夹
git init          # 再初始化

 

一定先在项目目录里再 git init,别在别处乱建。

⚠️ 易错提醒

  1. git init 要在项目根目录执行,别在其他目录乱建仓库

  2. .git 是隐藏文件夹,存着全部历史,别删

  3. 建档后目录没有变化(.git 是隐藏的),用 ls -a 或 git status 验证

⚔️ 剧情 Kata 实战任务

任务需求:

  1. 创建一个 "外卖 App" 文件夹,cd 进去

  2. 在里面创建 "外卖 App.py" 文件(项目第一份代码)

  3. 用 git init 初始化仓库,给项目建档

  4. 用 ls -a 看到隐藏的 .git 文件夹

  5. 用 git status 确认仓库状态正常

参考代码(在终端依次敲)

 

# 1. 创建项目文件夹并进入
mkdir 外卖App
cd 外卖App

# 2. 创建第一个代码文件
touch 外卖App.py

# 3. 初始化仓库,建档立卷
git init

# 4. 查看隐藏的 .git
ls -a

# 5. 确认仓库状态
git status

 

运行示例:

user@linux:~$ mkdir 外卖App
user@linux:~$ cd 外卖App
user@linux:~/外卖App$ touch 外卖App.py
user@linux:~/外卖App$ git init
Initialized empty Git repository in /home/user/外卖App/.git/
user@linux:~/外卖App$ ls -a
.  ..  .git  外卖App.py
user@linux:~/外卖App$ git status
On branch master
No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        外卖App.py

nothing added to commit but untracked files present

 

💡 完成动作示意:

  1. mkdir 外卖App && cd 外卖App → 项目文件夹就位

  2. touch 外卖App.py → 第一份代码文件

  3. git init → 建档成功,出现 .git 档案柜

  4. ls -a → 看到隐藏的 .git

  5. git status → 提示仓库已建,外卖App.py 还没纳入管理(Untracked,未跟踪)

🧠 思考题

  1. git init 做了什么?为什么要在 "项目根目录" 执行?

  2. 目录里那个隐藏的 .git 是什么?为什么说它 "存着全部历史"、不能删?

‹ 返回目录
🏠首页 Python 📦资源 👤关于我