其他分享
首页 > 其他分享> > 【计算机教育中缺失的一课】Git 快速入门

【计算机教育中缺失的一课】Git 快速入门

作者:互联网

Git 简介

Git 是一个分布式版本控制工具,最初版本由Linux之父Linus在一周之内开发完成,目的是为了解决Linux内核维护工作的代码同步(不得不感叹李纳斯简直是神啊)

Git 与其他版本控制工具的差异

git 使用过程

创建文件夹
在这里插入图片描述
git init

由于刚刚初始化,此时显示On branch master,No commits yet,nothing to commit
在这里插入图片描述
创建文件并修改
在这里插入图片描述
将文件放入暂存区
在这里插入图片描述
提交到本地
在这里插入图片描述

文件的几种状态

修改(modified)

修改了某个文件,但还没有提交保存

暂存(staged)

把已修改的文件放在下次提交时要保存的清单中

提交(committed)

该文件已经被安全地保存在本地数据库中

基本的 Git 工作流程

下面是工作目录,暂存区域,以及本地仓库三者之间的关系
在这里插入图片描述

git add

git add 命令,根据目标文件的状态不同,此命令的效果也不同

告诉 Git 开始对这些文件进行跟踪

tracked 、 untracked分别标识跟踪/不跟踪。对于每个文件,都只能处于这两种状态的其中一种

几个要注意的点:

在这里插入图片描述

git status

要确定哪些文件当前处于什么状态,可以用 git status 命令,若是 nothing to commit (working directory clean),则标识你现在的工作目录相当干净。换句话说,所有已跟踪文件在上次提交后都未被更改过

git diff

git status 的显示仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,可以用 git diff 命令

git ignore

写在git ignore中的文件无需纳入 Git 的管理,比如说,在目录下创建.gitignore文件,然后在文件中写入:

*.c    		忽略所有的c结尾的文件
!wdnmd.c 文件wdnm.c不放入忽略沐浴露
/nmsl		只忽略项目根目录下的 nmsl文件,子目录下的nmsl文件不受影响

git clone

git clone命令可以复制一个现有仓库,且仓库中包含所有的历史版本

下面是几个常用的实际情景

通过HTTPS的方式
$ git clone https://github.com/richardchien/modern-cmake-by-example.git

通过ssh的方式
$ git clone git@github.com:richardchien/modern-cmake-by-example.git

通过ssh的方式,并且将本地的目录名命名为 wdnmd
$ git clone git@github.com:richardchien/modern-cmake-by-example.git wdnmd 

通过ssh的方式,且要克隆的是某个服务器上的git目录仓库
$ git clone user@server:/path.git 




git commit

git log

该命令会打印出所有的提交历史,会按提交时间列出所有的更新,最近的更新排在最上面,每次更新都有一个 SHA-1 校验和、作者的名字和电子邮件地址、提交时间,最后缩进一个段落显示提交说明

$ git log -p -2

-p 选项展开显示每次提交的内容差异
-2 则仅显示最近的两次更新:

git push

git push 是用来将本地仓库中的数据推送到远程仓库

如果要把本地的 master 分支推送到 origin 服务器上,可以使用以下语句:

git push [remote-name] [branch-name]

git 分支

//TODO

思维导图

在这里插入图片描述

该图来自微信公众号:绯浅yousa

精选Git资料推荐

网页在线资料

书籍

可视化的 Git 在线学习网站

标签:文件,git,计算机教育,暂存,Git,提交,commit,一课
来源: https://blog.csdn.net/weixin_43864567/article/details/122424188