Git保姆级教程

目录

Git是什么,为什么要学这个工具?

码云注册并创建仓库

Git安装

查看本地仓库状态

添加到暂存区

提交到本地库

修改文件

版本回退

创建、切换和删除分支

合并分支

克隆远端库到本地

将本地库推送到远端库

命令设置别名


Git是什么,为什么要学这个工具?

Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目的版本管理。Git是目前世界上最流行的版本控制系统,广泛应用于软件开发中,用于代码的版本控制和协同工作。

以下是Git的一些主要特性:

  1. 分布式架构:Git给予每个开发者一份完整的代码库,包括所有分支和标签,这意味着即使在无网络连接的情况下也能进行大部分操作。

  2. 速度:Git在合并、分支、切换等操作上非常快速,提供了高效的文件合并和代码对比。

  3. 数据完整性:Git通过SHA-1哈希算法保护代码和历史记录的完整性,确保代码不会在传输过程中损坏。

  4. 支持分支和合并:Git支持快速、简便的分支创建和合并操作,鼓励开发者使用分支进行开发。

  5. 支持离线操作:开发者可以在本地进行大部分Git操作,如提交、查看历史等,不需要网络连接。

  6. 基于变更的合并:Git合并操作是基于差异的,这使得合并过程更加高效和准确。

  7. 多用户支持:Git能够处理多用户协作,允许多个开发者同时工作在同一个项目上。

  8. 可扩展性:Git是一个可扩展的系统,提供了钩子(hooks)和API,允许和其他工具集成。

  9. 支持大型项目:Git能够高效地处理大型项目,如Linux内核,它能够快速地切换分支和合并代码。

  10. 兼容性:Git与其他版本控制系统(如SVN)兼容,可以导入或导出项目。

  11. 图形用户界面:虽然Git本身是一个命令行工具,但存在许多图形用户界面(GUI)客户端,如GitHub Desktop、SourceTree等,使得非命令行用户也能方便地使用Git。

  12. 社区支持:Git拥有一个活跃的社区,提供大量的文档、教程和工具。

Git是现代软件开发中不可或缺的工具之一,它帮助开发者管理代码变更、协作和追踪项目历史。

复杂了, 说白了git就是一套代码, 帮助我们管理项目代码的, 为什么要将项目代码等主要文件进行版本控制呢。比如有这样一个例子, 你在写一个项目代码, 成功了, 但是你觉得这个版本有点问题, 但是能用, 想要改进一下, 但是又害怕改不出来, 最开始能用的版本都没了, 这个时候就可以使用git, 就和我们在代码的时候version1, version2, 会给项目起很多个版本。git就是这样一个作用, 可以帮我们快速追溯代码, 进行版本控制。

码云注册并创建仓库

这个url就是我们仓库的网址, 或者说就是我们创建的仓库在网络服务器中的存储位置

Git安装

没有安装的按照下面的步骤安装一下

首先在虚拟机中安装应用: sudo apt-get install git (ubuntu要有网络)

安装完成应该我们去刚才的仓库的url复制一下, 需要输入账号名和密码, 自己输入一下就行。

git clone url(自己仓库的url)

这样我们刚才在码云上创建的仓库就被克隆到本地了

git初始化: git init

配置姓名: git config --global user.name "Your Name"

配置邮箱: git config --global user.email "you@example.com"

查看并管理目录下文件的状态: git status (新增的及修改的文件都是红色)

将指定文件或所有文件加到暂存区: git add 文件名 或 git add . (绿了)

生成版本: git commit -m "名字" (名字随便起,为了管理)

上交文件或者目录: git push

查看版本记录: git log

查看本地仓库状态

添加到暂存区

提交到本地库

修改文件

版本回退

创建、切换和删除分支

合并分支

克隆远端库到本地

生成密钥: ssh-keygen -t rsa -C "youremail" (直接按三次回车即可生成;虚拟 机输入cat /home/xxx/.ssh/id_rsa.pub查看公钥[xxx为自己的用户名], 将这个公钥添加到git仓库,即可下载clone该仓库的源码文件。) 然后将密钥加载到码云 即可克隆或上传

将本地库推送到远端库

命令设置别名

eg: git log ==> git ls (作用是查看log版本信息)

相关推荐
历程里程碑7 小时前
4 Git远程协作:从零开始,玩转仓库关联与代码同步(带实操代码讲解)
大数据·c++·git·elasticsearch·搜索引擎·gitee·github
金銀銅鐵9 小时前
[git] 浅解 git reset 命令
git·后端
zhangfeng11339 小时前
部署到服务器上 宝塔系统 使用宝塔在线编辑器 FTP 批量上传 Git 部署 打包上传 codebudyy 编程程序开发
服务器·git·编辑器
学习是种信仰10 小时前
Git工作流
git·深度学习
yuanyuan2o212 小时前
Git merge 的几种不同模式
git·github
视觉小萌新12 小时前
关于Vscode配置企业Git
git
zh_xuan13 小时前
使用命令行把安装包上传到github
c++·git·libcurl·c++工程打包
zhangfeng113314 小时前
适合 5人以内小团队的Git 工作流 + Code Review + 自动化部署方案 FastAdmin +linunx服务器宝塔系统 外包项目 —
服务器·git·自动化·php·代码复审
念一不念二18 小时前
[Git]git仓库管理的使用
git