Git All in One

Git 零基础入门教程

Posted by MinnanH on July 2, 2023

2024.8.16更新:
89 things I know about Git commits

导言

什么是Git

  • Git 是一个工具,用于管理和跟踪文件(通常是代码)的版本。

用一个简单的比喻来解释 Git:
想象你正在写一本书,这本书可能会有很多章节和草稿。你可能想要尝试不同的情节,或者在不同的时间点回到书的早期版本。这时候,Git 就像是一个超级强大的撰写助手。

保存历史:  
每当你完成一章或者做出重要的更改时,你告诉 Git 保存当前的状态。这就像是你告诉你的助手:“把我现在写的这个版本存起来,我可能以后还会用到。” Git 会记住你书的这个版本,你可以随时回来查看或恢复。

尝试新想法:  
如果你想尝试一个全新的情节,但不确定它会不会奏效,你可以告诉 Git 创建一个“分支”。这就像是你告诉你的助手:“我要试一下新的情节,但我不想弄乱我现在的故事。给我复制一份当前的书,让我在复制品上尝试新的想法。” 在这个“分支”上,你可以随便尝试,而不会影响原来的版本。

合并内容:  
如果你对新的情节很满意,并且想把它加入到你的书中,你可以告诉 Git 把这个“分支”合并回主故事。这就像是告诉你的助手:“我很喜欢我在复制品上做的更改,把它们整合到我的原始手稿中。”

查找错误:  
如果你发现书里之前的某个地方出现了一个错误,而你不确定是什么时候引入的,Git 可以帮你回顾历史,找出是在哪个版本引入的错误。这就像是你的助手有超级记忆力,可以告诉你在写书的过程中每个版本的详细情况。

通过这种方式,Git 就像是一个能帮你管理和组织你的创作过程的超级助手,让你可以自由地尝试新的想法,同时保留历史版本,以便随时查看和恢复。在软件开发中,Git 用于管理代码,这个概念是一样的。

什么是Github

GitHub 是一个网站,允许人们使用 Git 上传和分享代码。人们可以在 GitHub 上创建项目,与他人合作,并跟踪代码的更改。

Git之于Github如同Porn之于Pornhub

Git 是创建和管理内容的工具,而 GitHub 是一个平台,允许你使用这个工具来分享和协作。

快速入门

阅读之前,我们默认你已经掌握了基础的Linux命令,如果没有,请先阅读:切换目录
Git下载安装教程:git安装步骤手把手图文
视频使用教程:30分钟弄懂所有工作Git必备操作
GitHub文档:开始使用 Git

常用指令收集

git config --global user.email  "你的GitHub登录邮箱"
git config --global user.name "你的用户名"

这两行代码是用于配置 Git 的全局用户信息。通过配置全局用户信息,你可以确保在任何 Git 仓库(如GitHub、Gitee等)中都使用相同的用户身份进行提交,而不需要每次都手动指定用户信息。

git init

初始化当前目录作为本地 Git 仓库。初始化后,会在该目录下会出现一个名为 .git 的隐藏目录,所有 Git 需要的数据和资源都存放在这个目录中。

// 切换当前分支到main分支
git checkout main
// 如果不存在main分支就通过以下命令创建并切换
git checkout -b main

那么让我们提交一个文件夹试试

// 添加文件到暂存区
git add .
// 将暂存区内容添加到仓库中
git commit -m "项目描述"

到上述内容为止,我们对当前目录所做的更改都是在本地进行的。接下来将本地的文件提交到远程Git仓库GitHub。

// 创建远程仓库,将远程 URL 与名称“origin”匹配。
git remote add origin <REMOTE_URL>

其中,远程 URL就是进入GitHub项目的code页面,点击code出现的可供复制的链接,形如:https://github.com/abc/def.git

// 将本地内容提交到GitHub
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin master:master

恭喜你,现在上传完成了自己第一个工作目录
如果想要从GitHub下载项目该怎么办呢?

// 克隆 GitHub上可用的存储库
git clone <REMOTE_URL>

现在你不是什么都不会的小白了,可以自己探索更多用法了!

请参阅速查手册:Git菜鸟教程