欢迎光临
我们一直在努力

【Git 基础】01——代码是怎么被追踪的

​你可能遇到过这样的场景:改了一段代码,跑起来不对,想退回去,但上一个版本已经被覆盖了。或者和别人合作,两个人同时改了同一个文件,最后不知道该保留谁的。

​Git就是为解决这类问题而生的。

一、git 是什么

​git 是一个版本控制系统,它做的事情可以概括为一句话:追踪文件的变化历史。

​每次你告诉 git “记住现在的状态”,它就把当前所有文件的快照保存下来。之后你可以随时回到任意一个历史快照,也可以看两个版本之间改了什么。

​更重要的是,git 让多人协作变得可行,每个人在自己的副本上工作,git 负责把改动安全地合并在一起。

​你的代码放在 GitHub 上,git 就是你和 GitHub 之间的"传输协议"。在本地用 git 管理版本,用git push 把代码同步到 GitHub 上。

二、三个核心概念

​先搞清楚三个概念,后面的命令才有意义。

2.1 仓库(repository)

​仓库就是 git 管理的一个项目目录。运行 git init 之后,当前目录就变成了一个仓库,git 会在里面创建一个隐藏的 .git 文件夹,所有的版本历史都存在那里。

​你本地有一份仓库,GitHub 上有一份仓库,两者可以互相同步。

2.2 提交(commit)

​commit 是版本历史里的一个节点,你手动告诉 git “把现在的状态记下来”,就生成了一个 commit。

  • 每个 commit包含:
    • 一个唯一的 ID(40 位哈希,通常用前 7 位表示,如 a3f9b12)
    • 你写的提交说明(message)
    • 当时所有文件的快照

​commit 不是自动产生的,必须你主动触发。这和"自动保存"不同,git 不会帮你保存,它只记录你明确提交的状态。

2.3 分支(branch)

​分支是一条独立的开发线。默认只有一条分支(通常叫 main 或 master),你可以随时创建新分支,在上面做实验,不影响主线。

​一个直觉类比:main 是你的"稳定存档",新分支是"实验存档",随时可以切换,做坏了直接删掉,稳定存档不受影响。

三、基础操作流程

​实际使用时,80% 的时间只会用到这几个命令。按顺序来看。

3.1 初始化仓库

git init

​在当前目录创建一个 git 仓库。只需要执行一次。

3.2 查看状态

git status

​这是最常用的命令,随时可以执行,告诉你当前有哪些文件改了、哪些还没提交。养成习惯,操作前先 git status 看一眼。

​输出大概长这样:

Changes not staged for commit:
modified: app.py

Untracked files:
requirements.txt

  • modified:已有的文件被改了,但还没告诉 git
  • Untracked:新文件,git 还不知道它的存在

3.3 暂存:git add

git add app.py # 暂存单个文件
git add . # 暂存当前目录所有改动

​git add 的作用不是"保存",而是选择哪些改动要放进下一次提交,这一步叫"暂存"(staging)。

为什么需要这一步?

因为你可能同时改了多个文件,但只想提交其中部分。git add 让你精确控制提交内容。

3.4 提交:git commit

git commit -m "add login function"

​把暂存区的内容正式记录为一个 commit。-m 后面是提交说明,写清楚"做了什么",方便将来查看历史。

在这里插入图片描述

​工作区 → 暂存区 → 仓库,这三步是 git 最核心的工作流。add 是"选好要提交的",commit 才是"真正记录下来"。

3.5 查看历史:git log

git log –oneline

​列出所有历史 commit,–oneline 让每条记录只占一行,看起来更清晰:

a3f9b12 add login function
7c2e841 init project structure

​左边是 commit ID,右边是你写的提交说明。

3.6 推送到 GitHub:git push

​本地有了 commit,推到 GitHub:

git push origin main

​origin 是远程仓库的别名(默认),main 是要推的分支。

​第一次推送需要先关联远程仓库:

git remote add origin https://github.com/你的用户名/仓库名.git
git push -u origin main # -u 建立追踪关系,以后直接 git push 就行

3.7 拉取最新代码:git pull

​别人推了新代码,你想同步到本地:

git pull

​git pull = git fetch(拉取远程改动)+ git merge(合并到当前分支)。多人协作时,改代码前先 git pull 是好习惯。

四、完整操作一遍

​把上面的命令串起来,走一遍完整流程。

4.1 在项目目录初始化仓库

git init
git branch -M main # 把默认分支改名为 main

4.2 将改动暂存

git add .

4.3 查看当前状态

git status

4.4 提交

git commit -m "init: add project files"

4.5 关联Github仓库(只需一次)

git remote add origin https://github.com/你的用户名/仓库名.git

4.6 推送

git push origin main

​之后每次改完代码,重复第 2-4 步,再 git push 同步到 GitHub。

五、常见问题

5.1 git add . 和 git add 文件名 用哪个?

​一般用 git add . 更省事,但要注意别把不该提交的文件(比如 .env、本地配置)也加进去。可以创建 .gitignore 文件,把不想追踪的文件写进去,git 会自动忽略它们。

5.2 commit message 怎么写?

​格式约定:类型: 简短说明,比如:

  • feat: add user login

  • fix: correct password validation

  • init: project setup

    不需要写"修改了第 23 行",message 说的是为什么改或改了什么功能。

5.3 推送时要输入密码?

  • GitHub 不再支持密码认证
  • 用 Personal Access Token(PAT)或 SSH key 替代
  • 推荐配置 SSH,一劳永逸

六、总结

​你现在掌握了 git 的核心工作流:init → add → commit → push,以及随时查看状态的 status 和 log。

​这套流程够你完成大部分独立项目的版本管理。下一个要理解的是分支,当你需要和别人协作,或者想在不影响主线的情况下尝试新功能时,分支是核心工具。

赞(0)
未经允许不得转载:171主机测评 » 【Git 基础】01——代码是怎么被追踪的
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址