输入“/”快速插入内容

Git 基础知识

2024年8月5日修改
本文讨论了Git基础知识,包括为何使用Git、Git基本操作、常用命令、实战应用及作业布置等内容。关键要点包括:
1.
使用Git的原因:为实现代码更好的持续集成,支持版本回退等功能。
2.
Git基本操作命令:如git add添加更改到追踪列表,git commit保存更改,git branch创建分支等。
3.
Git常用命令操作:初始化仓库有多种形式;添加、提交文件有对应命令;远程仓库操作包括克隆、关联、提交等;分支操作涵盖查看、创建、删除、选择、合并等。
4.
Git LFS:是Git扩展,减少大文件在仓库中的影响,安装需Git版本不低于1.8.5 。
5.
提交PR步骤:fork目标仓库,将代码clone到本地,修改代码后提交到自己仓库,最后提交PR。
6.
作业要求:访问指定仓库,star并fork到自己仓库,在指定文件写入名字和仓库链接,提交第一个PR。
本篇文档将带大家熟悉 Git 的基本操作
1.
为何使用Git
为了让代码能够更好的持续集成,我们采用Git的持续集成,Git支持版本回退等功能。
那什么是Git?
想象你正在制作一个拼图。每一块拼图代表一个文件或者项目的部分。你开始时可能有一个完整的图片作为参考,但在拼图过程中,你可能会试图调整一些拼图块的位置或者尝试不同的组合方式。
1.
git add (添加): 这个命令就像是将拼图块从桌子上移动到你的拼图盒子里。当你完成了一些新的工作或修改后,使用git add将这些更改“添加”到Git的追踪列表中,准备提交到最终版本。
2.
git commit (提交): 当你认为你已经完成了一部分工作,并想要保存这些更改时,你使用git commit。这就像是将拼图盒子封闭起来,保存了当前的拼图进度,这些更改会得到一个描述性的标签,以便你以后可以轻松地回到这个状态。
3.
git branch (分支): 分支就像是在拼图过程中创建一个新的拼图盒子,你可以在其中尝试不同的组合,而不影响主要的拼图进度。使用git branch你可以创建一个独立的工作空间,你可以在其中安全地进行实验,不会影响主线的开发。
4.
git checkout (切换): 当你想要从一个分支(拼图盒子)切换到另一个分支时,你可以使用git checkout。这就像是从一个拼图盒子中取出你的拼图,然后将其放入另一个盒子中,让你可以在不同的拼图组合之间轻松切换。
5.
git merge (合并): 如果你在一个分支上的工作已经完成,并且你想要将这些更改合并到主线(或其他分支)上,你可以使用git merge。这就像是将两个拼图盒子的内容合并成一个,将一个分支的更改融入到另一个分支中。
6.
git clone (克隆): 这个命令就像是从商店购买一个完整的拼图套装,包括所有的拼图块和说明书。使用git clone,你可以复制一个远程仓库到你的本地计算机上,包括所有的历史记录和分支。
7.
git pull (拉取): 当你想要获取远程仓库中的最新更改时,你可以使用git pull。这就像是检查拼图商店是否有新的拼图块,然后将它们添加到你的拼图盒子中。
8.
git push (推送): 如果你在本地完成了一些工作,并希望将这些更改上传到远程仓库,你可以使用git push。这就像是分享你的拼图盒子,让其他人可以看到你的最新拼图进度。
9.
git status (状态): 当你想知道当前项目的更改状态时,你可以使用git status。它会告诉你哪些文件已经被修改、哪些文件已经被添加到暂存区,以及哪些文件还没有被Git追踪。
10.
git log (日志): 如果你想查看项目的提交历史,你可以使用git log。它会显示所有的提交记录,包括每次提交的作者、日期和描述信息。
11.
git reset (重置): 当你想要撤销某些更改或回退到之前的提交状态时,你可以使用git reset。这就像是重新开始拼图,将一些错误的拼图块重新放回到盒子中。
2.
Git常用命令
2.1
基础操作
2.1.1
初始化
git init
这个直接使用是将当前目录初始化成本地仓库的
初始化指定目录的则是 git init < repo >
如果是创建一个裸仓则是 git init --bare
将指定目录创建成裸仓 git init --bare < repo >
注:裸仓跟普通仓库的区别在于,裸仓一般就是用于远程中心仓库,可以被clone,普通仓库不具备被clone的条件。
在声明了裸仓库之后,使用git add命令报错如下信息:
git 错误 fatal: This operation must be run in a work tree
因为裸仓库无法进行git操作,所以在创建裸仓库之后还要进行git init操作
2.1.2
添加文件
git add < filename >
使用之后把文件添加到暂存区