Git的安装和常用命令Git与SVN的区别Gitee远程仓库团队开发代码共享演示

news2024/11/25 14:43:47

目录

一、Git入门

1.1 Git简介

1.2 Git与SVN的区别

1.2.1 详解

1.2.2 图解 

1.3 Git相较于SVN的优势与劣势

1.3.1 Git的优势与劣势

1.3.2 SVN的优势与劣势

1.4 Git的工作流程

1.4.1 图解

1.4.2 详解

二、Git的安装以及常用命令

2.1 Git官网链接

2.2 安装步骤

2.3 Git的常用命令

2.3.1  常用命令概览

2.4 使用前准备

2.5 搭建项目环境

2.5 团队开发

2.5.1 案例

2.5.2 具体操作

三、Git命令的理论

四、学习Git的收获


一、Git入门

1.1 Git简介

Git 是一个分布式版本控制系统,用于跟踪和管理代码的变化。它是由Linus Torvalds在2005年创建的,旨在提供高效、灵活和可扩展的源代码管理工具。以下是 Git 的一些关键特点和概念的简要介绍:

  1. 分布式版本控制: Git 是分布式的,这意味着每个开发人员都拥有完整的代码库的副本,而不是依赖于集中式服务器。这使得开发人员能够独立工作,并在没有网络连接的情况下进行版本控制操作。

  2. 代码仓库: Git 使用仓库来存储代码和版本历史。一个仓库包含所有的代码、分支、提交历史以及配置信息。

  3. 提交(Commit): 提交是 Git 中的基本操作,它代表了代码库的一个快照,包括一组修改和相关的提交信息。提交是不可更改的,每个提交都有一个唯一的哈希标识。

  4. 分支(Branch): 分支是指代码库中的不同开发线,允许开发人员在不影响主要代码线的情况下进行独立的开发。Git 的分支操作非常高效,允许轻松创建、合并和删除分支。

  5. 合并(Merge): 合并是将一个分支的更改合并到另一个分支的操作。Git 提供了多种合并策略,以确保代码被合并到目标分支时不会引入冲突。

  6. 远程仓库(Remote Repository): 远程仓库是分布式团队协作的关键,它允许开发人员协同工作、共享代码,并在不同的位置之间同步代码。

  7. 克隆(Clone): 克隆是从远程仓库创建一个本地副本的过程。通过克隆,开发人员可以开始在自己的计算机上工作。

  8. 拉(Pull)和推(Push): 拉操作用于将远程仓库的更改同步到本地仓库,而推操作用于将本地更改上传到远程仓库。

  9. 标签(Tag): 标签是对特定提交的符号引用,通常用于标识版本或重要的里程碑。

Git 是许多开发团队和项目的首选版本控制工具,因为它强大、灵活,同时具有强大的分支和合并功能。它支持多种工作流程,并具有丰富的生态系统,包括各种图形用户界面和服务。 Git 的使用可以提高团队的协作效率,降低错误,确保代码可维护性和可追溯性。

1.2 Git与SVN的区别

1.2.1 详解

Git:

  1. 分布式版本控制: Git 是分布式版本控制系统,每个开发人员都拥有完整的代码库的副本。这允许离线工作、灵活的分支和合并,以及更好的协作。

  2. 速度: Git 在性能方面表现出色,因为它本地存储数据并使用快速的算法来处理操作。这使得 Git 在操作大型代码库时更加高效。

  3. 分支和合并: Git 的分支和合并操作非常轻松,允许开发人员创建、切换和合并分支,促进并行开发和实验性工作。

  4. 完整的历史记录: Git 记录每个提交的完整历史记录,包括修改的文件内容。这提供了更丰富的信息,有助于问题追踪和代码审查。

  5. 稳定性: Git 非常稳定,广泛用于许多大型开源项目和企业项目。

SVN (Subversion):

  1. 集中式版本控制: SVN 是集中式版本控制系统,代码库存储在中央服务器上,开发人员需要从服务器检出代码。这种方式限制了分支和合并的灵活性。

  2. 文件级别历史记录: SVN 跟踪文件级别的历史记录,而不是 Git 的内容级别。这在一些情况下可能导致信息不够详细。

  3. 传统文件锁定: SVN 支持文件锁定来避免多人同时编辑同一文件,但这也限制了并行开发的灵活性。

  4. 相对简单: SVN 相对来说更容易学习和使用,因此对于一些团队和项目来说可能更适合。

1.2.2 图解 

1.3 Git相较于SVN的优势与劣势

1.3.1 Git的优势与劣势

Git 的优势:

  • 分布式架构,适合分散团队和离线工作。
  • 高性能和快速的操作。
  • 强大的分支和合并支持,鼓励并行开发。
  • 完整的历史记录和内容级别的跟踪,有助于问题排查。
  • 大型开源项目广泛采用。

Git 的劣势:

  • 学习曲线较陡峭,对初学者来说可能有一些挑战。
  • 由于分布式性质,可能需要更多的存储空间。

1.3.2 SVN的优势与劣势

SVN 的优势:

  • 相对容易上手,适合初学者。
  • 文件锁定机制有助于避免冲突。
  • 适合一些传统开发工作流程。

SVN 的劣势:

  • 集中式架构可能导致单点故障。
  • 分支和合并支持较弱,可能导致工作流程不够灵活。
  • 文件级别历史记录和跟踪限制了问题排查的详细程度。

综合来看,Git 在许多现代开发场景中更受欢迎,特别是对于需要分布式开发、高性能和复杂工作流程的项目。然而,SVN 仍然在某些传统或较小规模的项目中有其用武之地,特别是对于那些更简单的版本控制需求。选择 Git 还是 SVN 取决于项目的具体要求和团队的工作流程。

1.4 Git的工作流程

1.4.1 图解

1.4.2 详解

Git的工作流程主要涉及以下几个关键概念:工作区(Working Directory)、暂存区(Staging Area)、本地仓库(Local Repository)和远程仓库(Remote Repository)。下面是Git的基本工作流程:

  1. 初始化仓库:

    • 使用git init命令在本地目录中初始化一个新的Git仓库。
  2. 进行修改:

    • 在工作区进行代码编辑和修改。
  3. 暂存文件:

    • 使用git add <file>命令将修改的文件添加到暂存区。
    • 可以多次使用git add命令添加不同的文件。
  4. 提交变更:

    • 使用git commit -m "<message>"命令将暂存区的文件提交到本地仓库。
    • 每次提交都会创建一个新的提交记录,记录了文件的变更和提交说明。
  5. 查看提交历史:

    • 使用git log命令查看提交历史,包括每个提交的作者、时间和提交说明。
  6. 分支管理:

    • 使用git branch命令查看所有分支,并使用git checkout <branch>命令切换到不同的分支。
    • 使用git merge <branch>命令合并不同分支的修改。
  7. 远程仓库交互:

    • 使用git remote add <name> <url>命令关联本地仓库和远程仓库。
    • 使用git push <remote> <branch>命令将本地提交推送到远程仓库。
    • 使用git pull <remote> <branch>命令从远程仓库获取最新的提交记录并合并到本地仓库。
  8. 冲突解决:

    • 当多个人同时修改同一文件的同一部分时,可能会发生冲突。
    • 使用合适的工具(如编辑器或Git客户端)解决冲突,并使用git add命令将解决后的文件标记为已解决。
    • 使用git commit命令提交解决冲突的文件。

以上是Git的基本工作流程,通过这些步骤,你可以管理和追踪文件的版本历史,协作开发,并与远程仓库进行交互。深入理解Git的工作流程对于有效地使用和管理Git版本控制系统至关重要。

二、Git的安装以及常用命令

2.1 Git官网链接

Git官网如下(注:下载安装2.2以上的版本):

Git下载官网icon-default.png?t=N7T8https://git-scm.com/downloads

2.2 安装步骤

进入官网进行安装操作:

选择存放路径:

然后一直点击Next即可。

下载完成后,在文件资源管理器中右键出现如图中,两个选项就说明安装成功。

2.3 Git的常用命令

Git 是一个强大的分布式版本控制系统,它有许多常用的命令,用于管理代码库。

2.3.1  常用命令概览

以下是一些常用的 Git 命令及其功能:

  1. git init:在目录中初始化一个新的 Git 仓库。

  2. git clone:从远程仓库克隆代码到本地。

  3. git add:将文件或目录的更改添加到暂存区,准备提交。

  4. git commit:提交暂存区中的更改到本地仓库。

  5. git status:查看工作目录、暂存区和本地仓库的状态。

  6. git log:查看提交历史记录。

  7. git diff:比较工作目录中的更改与暂存区或本地仓库中的内容。

  8. git branch:列出本地分支,或创建新分支。

  9. git checkout:切换分支或还原文件。

  10. git merge:合并一个分支的更改到当前分支。

  11. git pull:从远程仓库拉取并合并更改。

  12. git push:将本地更改推送到远程仓库。

  13. git remote:管理远程仓库的别名。

  14. git fetch:从远程仓库获取最新信息,但不合并。

  15. git reset:重置当前分支到指定的提交。

  16. git rebase:将当前分支的更改在另一个分支的基础上重新应用。

  17. git tag:创建、列出或删除标签,用于标识特定提交。

  18. git stash:暂存当前工作目录的更改,以便在另一个分支上工作。

  19. git blame:显示每行代码的最后一次修改及作者信息。

  20. git config:配置 Git 的各种选项,包括用户信息、别名等。

这些是 Git 中的一些常用命令,但 Git 还有许多其他命令和选项,用于处理更复杂的版本控制任务。你可以使用 git --helpgit help <command> 来查看 Git 命令的详细文档和用法。另外,Git 的社区和在线资源也提供了大量的教程和指南,以帮助你更好地理解和使用 Git。

2.4 使用前准备

首先我们需要有一个gitee的账号,前往gitee的官网进行注册,如下:

gitee官网icon-default.png?t=N7T8https://gitee.com/注册gitee账号如下:

创建账号之后创建一个仓库。点击右上角的+号,并且点击新建仓库。如下:

这里只有填入仓库的名称和选择开源之后,就直接创建仓库即可,点击创建,如下:

创建完成后,会有简易的命令行入门教程,如:Git 全局设置,创建 git 仓库,已有仓库?

将这些命令全部复制到一个文本文件中进行保存。如下:

之后在本地的目录中,创建一个工作区间,来对项目的开发,在这个工作区间中,鼠标右键

点击 Open Git Bash Here ,打开命令窗口。如下:

打开后的效果:

                                   这个命令窗口的命令,更多都是跟Linux是一样的。

打开窗口后,分别将Git 全局设置的命令输入其中分别执行一次。如下:

执行完后,查看本地用户下有没有 .gitconfig 的这个文件,打开看看,和我们的信息是一样的

就OK了。如下:

之后根据 创建 git 仓库的命令,先创建仓库,在进入仓库,进入后将该仓库标记为Git管理的仓库,如下:

标记后创建的仓库本地文件夹中会有个隐藏文件,如图  :

之后进行根据创建 git 仓库的命令,创建一个文件,再将文件给Git管理,之后查看状态

看到如图所示说明已经给Git管理,如果是红色说明没有。具体操作如下:

进行根据命令,上传到本地仓库并且给个备注,再将本地仓库和远程仓库进行绑定,绑定后,再将文件上传到远程仓库,(本地创建绑定远程仓库时,会要输入Git账号和密码.)如图 : 

再到创建仓库完成的页面刷新,就会看到所上传的文件,如图 : 

2.5 搭建项目环境

将项目的文件夹复制到Git工作区间,再将这个项目给Git管理,并且仓库状态。

git add .  这个命令是将该文件夹下所有文件给Git管理,如图 :

将项目上传到本地,并且给与备注,再将项目上传到远程仓库。

如图 : 

 

然后在Gitee的仓库中就可以看到了,如下:

2.5 团队开发

2.5.1 案例

项目已经在远程仓库部署好了,现在比如 : 开发团队中其他人需要获取其中的项目。

2.5.2 具体操作

  • 在这个需要获取其中项目的人中的工作区间,一样的,先点击Git Bash Here ,打开命令窗口。
  • 在命令窗口中输入克隆远程仓库中使用文件的命令。
  • 上面的网址是远程仓库的地址,在右上角有克隆的网址,谁需要就复制给谁即可,再加上命令执行即可拿到所有的文件。

 远程仓库使用文件的命令如下:

执行完成之后可以进入目录中查看到所有的文件。如下::

三、Git命令的理论

Git是一个分布式版本控制系统,它被广泛用于软件开发中的版本控制和协作。下面是一些常用的Git命令及其理论解释:

  1. git init:初始化一个新的Git仓库。

    • 创建一个新的本地Git仓库,用于存储项目的版本历史和文件变更。
  2. git clone <repository>:克隆一个远程仓库到本地。

    • 从远程仓库中复制所有历史和文件到本地,创建一个与远程仓库相同的副本。
  3. git add <file>:将文件添加到暂存区。

    • 将指定文件的当前版本添加到Git的暂存区中,以准备提交到版本历史中。
  4. git commit -m "<message>":将暂存区的文件提交到版本历史中。

    • 创建一个新的版本记录,包含了暂存区中所有文件的当前状态,并附带一条简短的说明信息。
  5. git push:将本地的版本历史推送到远程仓库。

    • 将本地仓库中的最新版本推送到与之关联的远程仓库中,实现版本同步和团队协作。
  6. git pull:从远程仓库拉取最新的版本到本地。

    • 从与当前分支关联的远程仓库中获取最新的版本记录和文件变更,并自动合并到本地仓库。
  7. git branch:列出所有分支。

    • 显示当前仓库中包含的所有分支,以及当前所在的分支。
  8. git checkout <branch>:切换到指定的分支。

    • 切换当前工作目录到指定分支,并更新工作区中的文件以符合该分支中最新的版本记录。
  9. git merge <branch>:将指定分支合并到当前分支。

    • 将指定的分支合并到当前分支,将两个分支的修改组合在一起并创建一个新的提交记录。
  10. git log:显示当前分支的版本历史。

    • 显示当前分支中所有提交记录的详细信息,包括作者、提交时间、说明等。

四、学习Git的收获

学习Git可以带来许多收获,无论是个人开发者还是团队协作工作,以下是学习Git的一些收获:

  1. 版本控制:Git是一种分布式版本控制系统,学习Git可以帮助你有效地管理代码的版本历史。你可以轻松地回溯到以前的版本、比较不同版本之间的差异,并追踪每个修改是由谁进行的。
  2. 团队协作:Git提供了方便的团队协作功能,多个开发者可以同时在同一个代码库上工作并独立进行修改。通过Git,你可以合并和解决冲突,确保团队成员间的协作更加高效。
  3. 分支管理:Git的分支功能让你能够轻松地创建、切换和合并分支。这对于开发新功能、修复bug或并行开发多个特性非常有用。你可以在不影响主线开发的情况下进行实验和开发。
  4. 撤销和恢复:Git提供了撤销和恢复功能,当你发现某个修改有问题或者想回到之前的某个状态时,可以回退到以前的版本。这样你可以避免不必要的错误和损失。
  5. 远程仓库管理:学习Git还可以让你了解如何与远程仓库进行交互,例如GitHub、GitLab或Bitbucket等。你可以将你的代码推送到远程仓库,与他人分享你的工作,或者从远程仓库获取最新的修改。
  6. 持续集成和部署:Git可以与其他工具和服务集成,如持续集成(CI)和持续部署(CD)平台。这些工具可以自动化构建、测试和部署你的代码,提高开发流程的效率和稳定性。
  7. 开源社区:Git有一个活跃的开源社区,你可以从中学习和获取有关Git的资讯、教程和最佳实践。你可以参与开源项目,与其他开发者交流经验,并为开源社区做出贡献。

总而言之,学习Git将使你成为更有效的开发者,并帮助你更好地协作、管理和维护代码项目。无论是个人项目还是团队项目,掌握Git都是非常有益的。


最后Git的安装和常用命令&Git与SVN的区别&Gitee远程仓库团队开发代码共享演示就到这里,祝大家在敲代码的路上一路通畅!

感谢大家的观看 !

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1189053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国产小体积超低成本电动车仪表智能刷卡解锁13.56M非接触式读写芯片CI522兼容替代RC522

Ci522电动车仪表一键启动芯片 Ci522是一个高度集成的&#xff0c;工作在13.56MHz的非接触式读写器芯片&#xff0c;阅读器支持ISO/IEC 14443 A/MIFARE。 无需外围其他电路&#xff0c;Ci522的内部发送器可驱动读写器天线与ISO/IEC 14443 A/MIFARE卡和应答机通信。接收器模块提…

基于【宝塔+NPS】内网穿透搭建教程

下载服务端 https://github.com/ehang-io/nps/releases 我这里选择linux_amd64_server.tar.gz 执行安装命令 sudo ./nps install安装后修改/etc/nps/conf下的文件不是解压里的 然后修改里面的4处内容 宝塔docker 安装 nps 运行 nps 容器&#xff0c;并设置开机自启动 docke…

基于springboot实现高校党务平台管理系统【项目源码】计算机毕业设计

基于springboot实现高校党务平台管理系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点&#xff0c;而且Java是开源的&#xff0c;拥有全世界最大的开发者专业社群&#x…

解决Jenkins执行git脚本时报错:No such device or address问题

问题现象&#xff1a; Jenkins执行BeanShell脚本时&#xff0c;报错&#xff1a;jenkins fatal: could not read Username for http://112.11.120.1: No such device or address 解决方案&#xff1a; 解决服务器拉取git仓库的代码权限&#xff0c;使用高级子模块克隆功能。…

TexGen简单模型对应inp文件简单梳理-1

模型 默认最简单的编织复材&#xff0c;编辑材料属性时发现基体属性设置正常&#xff0c;各向同性材料&#xff0c;但是纱线的材料属性却没有弹性性能的设置。 导出inp文件后&#xff0c;导入ABAQUS中其实可以看到有两种材料&#xff0c;纱线也是有属性的。 ABAQUS中修改属性的…

Git-Lab私域共享代码

1.导读 本教程主要讲解了GitLab在项目的环境搭建和基本的使用&#xff0c;可以帮助大家在企业中能够自主搭建GitLab服务&#xff0c;并且可以GitLab中的组、权限、项目自主操作。 - GitLab简介 - GitLab环境搭建 - GitLab基本使用(组、权限、用户、项目) 2.GitLab简介 Gi…

DTC商业模式研报 | 创新DTC策略利于提升业务灵活性和数字化体验

报告摘要 本报告由ADYEN制作。ADYEN是一家直营业务为支付的荷兰公司&#xff0c;通过整合包括银行卡、支付宝、Paypal在内的多种流行支付方式&#xff0c;它允许企业接受电子商务&#xff0c;移动和销售点付款&#xff0c;极大地简化了消费者支付的流程&#xff0c;目前该机构…

工业园区一般用多大规格的电表?

随着我国经济的快速发展&#xff0c;工业园区在各地区如雨后春笋般崛起。作为电力系统的重要组成部分&#xff0c;电表的选择与应用对于工业园区的稳定运行至关重要。那么&#xff0c;工业园区一般用的是多大规格的电表呢&#xff1f;下面&#xff0c;小编就来给大家揭秘一下&a…

quickapp_快应用

目录 官网概述开发前提[1] 安装IDE问题-IDE打开是英文 [2] 创建项目[3] 运行项目[4] 项目结构 开发调试USB真机调试扫码调试 上传发布步骤error: 版本号必须高于上一个版本的 页面(文件)组件快应用组件常用总结快应用组件第三方组件库 页面级组件自定义组件(子组件)引入自定义组…

国标28181-2022/GB28181-2022国标检测

最近两周带了几个人一起开发国标28181-2022的平台检测&#xff0c; 由于没有28181-2022设备&#xff0c;目前一所还没有一家平台检测过&#xff0c;所以压力比较大&#xff0c;不过还好把28181-2022平台全项检测顺利过了&#xff0c;还帮忙测出了检测中心NVR的几个bug。看了下这…

超全大厂UI库分享,可免费套用!

今天我们要给大家分享的是TDesign、Arco Design、Ant Design、Material design等6个优秀的大厂UI库&#xff0c;一次性打包送给大家&#xff0c;通通免费用。大厂UI库都是经过无数次的事件检验的&#xff0c;扛住了许多种使用场景和突发情况的组件资源库&#xff0c;是前人的经…

美型和微整形SDK技术解决方案的新时代

人们对于美的追求已经不仅仅局限于化妆和服装&#xff0c;更多的是希望通过科技手段来实现自然、健康的美。美摄科技&#xff0c;作为全球领先的智能影像技术提供商&#xff0c;一直致力于通过技术创新&#xff0c;满足人们对美的追求。我们推出了针对美型和微整形的SDK技术解决…

taro(踩坑) npm run dev:weapp 微信小程序开发者工具预览报错

控制台报错信息&#xff1a; VM72:9 app.js错误: Error: module vendors-node_modules_taro_weapp_prebundle_chunk-JUEIR267_js.js is not defined, require args is ./vendors-node_modules_taro_weapp_prebundle_chunk-JUEIR267_js.js 环境&#xff1a; node 版本&#x…

怎么经营朋友圈?

朋友圈就是现代人的社交场&#xff0c;朋友圈发布的好坏会直接影响你的人际关系。怎么经营朋友圈&#xff1f;这个问题大部分人都不太知道&#xff0c;今天我们就来说说。 一、常见朋友圈&#xff1a; 1、广告型朋友圈 现在的朋友见到的&#xff0c;大部分都是每天发十多条的…

网站引流绝技:如何通过外链持续给网站带来高质量流量

做网站的人&#xff0c;不论是写文章还是搞外链&#xff0c;最终都是希望能获得更多的流量。既然是为了搞来流量和收入&#xff0c;你可能还不知道有一种方法既能搞来外链还能带来源源不断的高质量流量。 这个方法我在8年前就已经掌握&#xff0c;而且至今我仍认为它是一种有效…

上传文件大小限制报错

做了一个上传文件的功能&#xff0c;前端通过文件流程的形式调用后台接口。几百k的文件能成功&#xff0c;几M的文件会失败。原因有二 第一是被nginx限制&#xff0c;请求也无法转发到应用服务器里面&#xff08;也就是tomcat看不到请求日志只有nginx日志能看到请求&#xff0…

企业如何实现高效运转?工单管理系统有什么特点和优势?

在当今这个数字化、信息化的时代&#xff0c;企业需要一个高效、智能的工具来优化和协调内部和外部的工作流程。工单管理系统正是这样一个不可或缺的软件工具&#xff0c;它能够自动化、智能化地处理工单&#xff0c;提高工作效率和客户满意度。本文将详细介绍工单管理系统的特…

国标28181-2022检测内容GB28181-2022检测内容

目前国标28181-2022平台全项检测一共181项&#xff0c;总的检测相对2016版本要复杂很多&#xff0c;增加了一些比较重要的功能,下面列举下检测项(qq 123011785):

征服地球极限,中国极地科考与登峰事业的“御寒”之旅

7日&#xff0c;全国各地大幅降温&#xff0c;今年第一场暴风雪也席卷了黑龙江。 伴随着冷空气不断入侵&#xff0c;气温持续走低&#xff0c;寒冬的脚步越来越近&#xff0c;供暖也成为了北方地区的冬季重点民生课题。 是日&#xff0c;天色未晓&#xff0c;黑龙江各地身披红…

C语言 做一个学生信息管理系统

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct person {char name[30];char sex[10];int num;struct person *next; }stu; stu *head NULL; void printf_link(stu *head) {stu *pd head;while(pd ! NULL){printf("姓名&a…