我们为什么要学习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/
 先注册账号
 
 
 公钥的生成方法请点击“怎样生成公钥”
 打开下面的文件目录,右键单击id_rsa.pub选择记事本打开,复制全文
 
 
 添加公钥的目的是让git认识这台计算机,在提交信息时区分贡献者,
 多台计算机也可以共用同一套公钥
 
 
 创建完成以后复制仓库地址
 
 打开cmd,进入到项目文件夹下
 git init
 初始化git 仓库
 git remote add 粘贴地址
 配置远程仓库,仓库名默认为 origin
 git remote -v
 查询远程仓库列表(有两条代表添加成功)
 
 一条是fetch获取地址,另一条是push推送地址
 fetch地址的作用:将远程仓库的分支和推送信息更新到本地
 push地址的作用:用来推送或更新项目中的更改
 git config --global user.name "kaixin"
 git config --global user.email "21577...@qq.com"
 配置标识信息
 git status 
 查看本地文件状态
 
 有红色文件名,意为:工作区有更改,需要暂存以防止丢失
 有绿色文件名:意为:暂存区有更改,需要提交到本地仓库
 git add .
 将工作区的修改提交到暂存盘
 git commit -m “简述”
 将暂存盘里的更改提交到本地仓库
 此时你git push 是推送不了的,会报如下信息:
 
 它说:你还未跟踪远程地址,请执行以下命令设置默认跟踪地址
 因为remote 可以配置多个远程仓库,即一个项目指向多个仓库
 它不知道你要将更改推送到哪一个仓库,需要你告诉他
 git push -u origin master
 push 推送
 -u 设为默认仓库
 origin 仓库名
 master 分支名
 
 如果你的项目文件较多,此时推送可能会卡住
 Ctrl + c 停止
 在项目根目录下创建文件,全名为:
 .gitignore
 
 这类文件没有具体文件名,后缀即为名称
 打开此文件,写入
.DS_Store
node_modules/
dist/
dist.*
**/*.log
.vscode
*.local
这里写入的字符作为文件名或文件夹名称被git 过滤
 不会被提交到本地仓库,也不会被推送到远程
 dist/ ☞ 文件夹及所有子文件
 *.log ☞ 所有以.log 作为后缀的文件
 
保存以后
 git add .  暂存
 git commit -m “gitignore-config” 提交
 git push 推送
 你的远程仓库中就生成了如下内容
 
 为本项目添加成员,不同的角色会赋予他不同的权限。如图所示:
 
 仓库成员首次使用码云gitee,也要配置公钥(公钥的生成方法请看前半部分)。
 其次本地公钥 要与 线上公钥保持一致。
 
 仓库成员复制仓库地址,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 基础命令与事件详解(基础版)
推荐下载
 从 0 到 10 的 Git版本控制器入门精讲
 配合Git flow 流程使用的git 操作命令指南

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



















