news 2026/4/16 14:12:43

Day 1:Git入门避坑:新手3步搞定首次提交

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day 1:Git入门避坑:新手3步搞定首次提交

Day 1:Git入门避坑:新手3步搞定首次提交(附《Pro Git》核心知识点)

“你有没有经历过这样的场景:你熬夜写了一个功能,第二天发现代码改崩了,想找回原来的版本,结果发现没有备份?或者你和同事同时修改了同一个文件,结果互相覆盖了对方的修改?别担心,这不是你的错,而是你还没有使用Git!”

🌟 为什么说Git是开发者的"时间机器"?

想象一下,你正在写一封重要的信。每次修改,你都保存一个新版本,而不是直接在原稿上涂改。这样,即使你后来发现某个修改有问题,也能轻松回到之前的版本。Git就是这个"时间机器",它能记录你代码的每一次变化,让你随时回到过去的任何时刻。

正如《Pro Git》中所说:

“Git是一个内容寻址文件系统。这意味着,Git的核心部分是一个简单的键值对数据库。你可以向该数据库插入任意类型的内容,它会返回一个键值,通过该键值可以在任意时刻再次检索该内容。”

🚀 新手3步搞定首次提交

✅ 步骤1:安装Git(30秒搞定)

Windows:下载Git安装包,双击安装,一路"Next"即可。

macOS:打开终端,执行brew install git(需要先安装Homebrew)。

Linuxsudo apt-get install git(Debian/Ubuntu)或sudo yum install git(CentOS/RHEL)。

💡小贴士:安装完成后,打开终端输入git --version,看到版本号就说明安装成功啦!

✅ 步骤2:在AtomGit(GitCode)创建账号

  1. 打开GitCode官网
  2. 点击右上角"注册",用邮箱/手机号注册
  3. 验证邮箱,登录账号(这里假设你申请的用户名为:your-username)
  4. 点击右上角"+" → “新建项目”(全部默认选项即可,假设你创建的项目名称为:git-demo)

✅ 步骤3:首次提交(3分钟搞定)

本地打开命令行提示符(cmd),如果是初次使用,要按照本步骤【重要提示】部分进行配置。

# 1. 在命令行提示符工作目录下创建项目文件夹mkdirgit-demo&&cdgit-demo# 2. 初始化Git仓库gitinit# 3. 创建第一个文件echo"# Git Demo">README.md# 4. 将文件添加到暂存区gitaddREADME.md# 5. 提交更改(记得写有意义的提交信息!)gitcommit -m"Initial commit: Add README"# 6. 添加远程仓库(替换为你的GitCode仓库URL)gitremoteaddorigin https://gitcode.com/your-username/git-demo.git# 7. 推送到远程仓库,初次提交会弹出用户名和密码验证,用户名输入your-username,密码就是在https://gitcode.com/setting/token-classic申请的访问token。gitpush -u origin master

💡重要提示:首次提交前,先配置用户信息(避免"Author: Unknown"):

gitconfig --global user.name"Your Name"gitconfig --global user.email"your.email@example.com"

❌ 常见问题避坑指南

🔴 问题1:fatal: not a git repository (or any of the parent directories)

原因:没有在Git仓库目录中执行命令。
解决:先执行git init初始化仓库。

🔴 问题2:文件未被跟踪

原因:没有执行git add
解决:使用git status查看未跟踪文件,然后用git add <file>添加。

🔴 问题3:git push时提示"Authentication failed"

原因:GitCode需要密码或Token认证。
解决

  1. 登录GitCode → 个人设置 → 安全设置 → 访问令牌
  2. 使用Token代替密码进行推送

💡 核心知识点:首次提交的底层原理

首次提交是Git版本控制的基础过程:

“Git的提交过程分为三个阶段:工作区(Working Directory)、暂存区(Index)和仓库(Repository)。当你执行git add时,文件从工作区进入暂存区;执行git commit时,文件从暂存区进入仓库。”

用生活化比喻

  • 工作区= 你正在写的信稿(草稿)
  • 暂存区= 信封(准备寄出的文件)
  • 仓库= 已寄出的信(正式版本)

🎯 今日小结

项目说明
Git是什么代码的"时间机器",记录每一次修改
为什么需要Git避免代码丢失、多人协作、快速回滚
首次提交3步1. 安装Git 2. 创建GitCode账号 3.git initgit addgit commit
关键命令git init,git add,git commit,git remote add,git push

📅 明日预告:Day 2:Git环境搭建全攻略:Windows/macOS/Linux三平台避坑指南

“明天我们将解决’为什么我的Git命令在终端里显示乱码?'、'如何让Git命令高亮显示?'等常见问题,让你的Git环境焕然一新!”


✨ 今日金句:Git不是魔法,但它能让你的代码告别"消失"的噩梦。今天你已经迈出了成为Git大师的第一步,明天继续加油!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 22:28:17

19、VMware 中不同操作系统的使用指南

VMware 中不同操作系统的使用指南 1. Solaris 系统启动与使用 Solaris Intel 平台版通过两步过程启动。首先从 DOS 分区加载一个(DOS)配置助手。若以交互模式进入该助手(首次安装时会这样),可以从替代设备启动并探测新添加的硬件,也能扫描特定硬件,但要注意,若扫描时遗…

作者头像 李华
网站建设 2026/4/16 12:33:47

LeetCode Hot100 —— 子串(面试纯背版)(三)

1、和为K的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums = [1,1,1], k = 2 输出:2示例 2: 输入:nums = [1,2,3], k = 3 输出:2提示: 1 <= nums.length…

作者头像 李华
网站建设 2026/4/16 11:06:17

apache-maven-3.9.9-src.zip 使用步骤 详细教程

先解压​ 安装包下载&#xff1a;https://pan.quark.cn/s/7d168ac471ab&#xff0c;下载完这个 zip 文件&#xff0c;找个地方解压开&#xff0c;比如放到 D:\tools\maven-src这种目录。解压后你会看到一堆源码文件和文件夹。 装 JDK​ 这个是 Maven 的源码包&#xff0c;要编…

作者头像 李华
网站建设 2026/4/16 11:09:38

12.17 - 合并两个有序数组 include<> 和 include““ 的区别

目录 1.合并两个有序数组 a.核心思想 b.思路 c.步骤 2.include<> 和 include"" 的区别 a.#include<文件名> b.#include"文件名" 1.合并两个有序数组 88. 合并两个有序数组 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn…

作者头像 李华
网站建设 2026/4/16 12:02:28

6、近期量子计算中的多编程机制解析

近期量子计算中的多编程机制解析 1. 量子电路分区算法 在量子计算中,量子电路分区是一个关键环节。这里介绍两种重要的分区算法:GSP 算法和 QHSP 算法。 1.1 GSP 算法复杂度 设硬件量子比特(物理量子比特)数量为 (n),需要分配分区的电路量子比特(逻辑量子比特)数量为…

作者头像 李华
网站建设 2026/4/16 11:01:19

35、Unix与Perl编程:数据检查、求助途径与问题解决

Unix与Perl编程:数据检查、求助途径与问题解决 1. 数据检查的重要性 在处理数据序列时,有些字符绝不能出现在序列中。例如,字符 “X” 不能用来表示核苷酸,“J” 也不对应任何氨基酸。同样,如果下载了对应基因的 DNA 序列,这些序列的编码部分长度应该是三个核苷酸的倍数…

作者头像 李华