我们为什么要学习git?

就当下的发展而言,只要你从事开发就一定会接触git。作为最强大的分布式版本控制器,git 与 svn 有着本质上的区别。

Git是一种分布式版本控制系统,每个开发者都可以在本地维护完整的代码库,可以离线工作并提交代码。
SVN是一种集中式版本控制系统,所有代码都保存在中央服务器上,开发者需要与服务器进行交互才能进行代码管理。

/

分支管理

性能

历史记录

开发

Git

Git鼓励频繁地创建和合并分支,使得多个功能可以同时进行开发,而不会相互干扰

使用了一种快照机制,每次提交都会创建一个文件的完整副本,操作速度非常快,并且占用存储空间较小

保留了完整的代码历史记录,包括每次提交的内容、时间和作者等信息

由于分布式特性,开发者可以在自己的本地分支上进行自由的实验和开发,不会影响到其他人的工作

SVN

分支管理相对较为繁琐,需要手动创建和合并分支

记录文件的差异,操作速度较慢,同时占用的存储空间更大

有类似的功能,但是需要与中央服务器进行交互

SVN的集中式特性限制了开发者的自由度,需要与服务器进行交互

总的来说,Git更适合具有高度分散、并行开发的项目,尤其是开源项目。SVN更适合较小规模的团队,或者需要严格控制代码访问权限的项目。选择Git还是SVN取决于项目的规模、开发模式和需求。

git 的优势包括但不仅限于以下几点:高效的分支管理、快速而便捷、强大的协作功能。

Git以命令行工具的形式提供,同时也有许多可视化工具和集成开发环境(IDE)的插件支持,使得使用Git更加方便。它广泛应用于软件开发、版本管理、代码托管等领域,它是目前最流行的版本控制系统之一。

Git是一个开源的版本控制系统,它是由Linux的创始人Linus Torvalds在2005年创建的。Git的主要目标是处理大型项目的高效管理。



本章主要教大家如何注册并使用git,我选择用命令行拆解步骤,这是为了方便大家理解底层交互。

作者:我不是费圆

概述:适用于git初学者及一般使用者,阅读本文能略微提升你对git的理解


以码云为例:https://gitee.com/ 先注册账号

Git 入门精讲_远程仓库


Git 入门精讲_远程仓库_02


公钥的生成方法请点击“怎样生成公钥”

打开下面的文件目录,右键单击id_rsa.pub选择记事本打开,复制全文

Git 入门精讲_远程仓库_03


Git 入门精讲_推送_04


添加公钥的目的是让git认识这台计算机,在提交信息时区分贡献者,

多台计算机也可以共用同一套公钥

Git 入门精讲_git_05


Git 入门精讲_推送_06


创建完成以后复制仓库地址

Git 入门精讲_git_07


打开cmd,进入到项目文件夹下

git init

初始化git 仓库


git remote add 粘贴地址

配置远程仓库,仓库名默认为 origin


git remote -v

查询远程仓库列表(有两条代表添加成功)


Git 入门精讲_git_08


一条是fetch获取地址,另一条是push推送地址

fetch地址的作用:将远程仓库的分支和推送信息更新到本地

push地址的作用:用来推送或更新项目中的更改


git config --global user.name "kaixin"

git config --global user.email "21577...@qq.com"

配置标识信息


git status

查看本地文件状态

Git 入门精讲_git_09


有红色文件名,意为:工作区有更改,需要暂存以防止丢失

有绿色文件名:意为:暂存区有更改,需要提交到本地仓库


git add .

将工作区的修改提交到暂存盘


git commit -m “简述”

将暂存盘里的更改提交到本地仓库


此时你git push 是推送不了的,会报如下信息:

Git 入门精讲_推送_10


它说:你还未跟踪远程地址,请执行以下命令设置默认跟踪地址

因为remote 可以配置多个远程仓库,即一个项目指向多个仓库

它不知道你要将更改推送到哪一个仓库,需要你告诉他

git push -u origin master

push 推送

-u 设为默认仓库

origin 仓库名

master 分支名

Git 入门精讲_推送_11


如果你的项目文件较多,此时推送可能会卡住

Ctrl + c 停止


在项目根目录下创建文件,全名为:

.gitignore

Git 入门精讲_推送_12


这类文件没有具体文件名,后缀即为名称

打开此文件,写入

.DS_Store
node_modules/
dist/
dist.*
**/*.log
.vscode
*.local

这里写入的字符作为文件名或文件夹名称被git 过滤

不会被提交到本地仓库,也不会被推送到远程

dist/ ☞ 文件夹及所有子文件

*.log ☞ 所有以.log 作为后缀的文件


保存以后

git add . 暂存

git commit -m “gitignore-config” 提交

git push 推送


你的远程仓库中就生成了如下内容

Git 入门精讲_git_13


为本项目添加成员,不同的角色会赋予他不同的权限。如图所示:

Git 入门精讲_git_14


仓库成员首次使用码云gitee,也要配置公钥(公钥的生成方法请看前半部分)。

其次本地公钥 要与 线上公钥保持一致。

Git 入门精讲_git_15


仓库成员复制仓库地址,cmd输入

git clone 仓库地址 仓库别名(可省略不写) 如:git clone https://gitee.com/avec-vous/shu-hai.git

克隆时得到的代码是默认分支上最新的


git pull origin master

拉取指定仓库,指定分支上的代码


如果git push -u 配置过默认推送地址

可以直接使用git pull


git status 查看工作区状态

Git 入门精讲_推送_16


未暂存的文件是红色,未提交的文件是绿色

本章到此结束
转载要注明出处哦!

Git 入门精讲_远程仓库_17


“我仍认为我们接受高等教育的目的是帮助我们的家乡摆脱贫困,而不是摆脱我们贫困的家乡。生如蝼蚁当有鸿鹄之志,为天地立心,为生民立命,为往圣继绝学,为万世开太平。”