目录
[1.1 Git简介](#1.1 Git简介)
[1.2 Git与SVN的区别](#1.2 Git与SVN的区别)
[1.2.1 详解](#1.2.1 详解)
[1.2.2 图解](#1.2.2 图解)
[1.3 Git相较于SVN的优势与劣势](#1.3 Git相较于SVN的优势与劣势)
[1.3.1 Git的优势与劣势](#1.3.1 Git的优势与劣势)
[1.3.2 SVN的优势与劣势](#1.3.2 SVN的优势与劣势)
[1.4 Git的工作流程](#1.4 Git的工作流程)
[1.4.1 图解](#1.4.1 图解)
[1.4.2 详解](#1.4.2 详解)
[2.1 Git官网链接](#2.1 Git官网链接)
[2.2 安装步骤](#2.2 安装步骤)
[2.3 Git的常用命令](#2.3 Git的常用命令)
[2.3.1 常用命令概览](#2.3.1 常用命令概览)
[2.4 使用前准备](#2.4 使用前准备)
[2.5 搭建项目环境](#2.5 搭建项目环境)
[2.5 团队开发](#2.5 团队开发)
[2.5.1 案例](#2.5.1 案例)
[2.5.2 具体操作](#2.5.2 具体操作)
一、Git入门
1.1 Git简介
Git 是一个分布式版本控制系统,用于跟踪和管理代码的变化。它是由Linus Torvalds在2005年创建的,旨在提供高效、灵活和可扩展的源代码管理工具。以下是 Git 的一些关键特点和概念的简要介绍:
分布式版本控制: Git 是分布式的,这意味着每个开发人员都拥有完整的代码库的副本,而不是依赖于集中式服务器。这使得开发人员能够独立工作,并在没有网络连接的情况下进行版本控制操作。
代码仓库: Git 使用仓库来存储代码和版本历史。一个仓库包含所有的代码、分支、提交历史以及配置信息。
提交(Commit): 提交是 Git 中的基本操作,它代表了代码库的一个快照,包括一组修改和相关的提交信息。提交是不可更改的,每个提交都有一个唯一的哈希标识。
分支(Branch): 分支是指代码库中的不同开发线,允许开发人员在不影响主要代码线的情况下进行独立的开发。Git 的分支操作非常高效,允许轻松创建、合并和删除分支。
合并(Merge): 合并是将一个分支的更改合并到另一个分支的操作。Git 提供了多种合并策略,以确保代码被合并到目标分支时不会引入冲突。
远程仓库(Remote Repository): 远程仓库是分布式团队协作的关键,它允许开发人员协同工作、共享代码,并在不同的位置之间同步代码。
克隆(Clone): 克隆是从远程仓库创建一个本地副本的过程。通过克隆,开发人员可以开始在自己的计算机上工作。
拉(Pull)和推(Push): 拉操作用于将远程仓库的更改同步到本地仓库,而推操作用于将本地更改上传到远程仓库。
标签(Tag): 标签是对特定提交的符号引用,通常用于标识版本或重要的里程碑。
Git 是许多开发团队和项目的首选版本控制工具,因为它强大、灵活,同时具有强大的分支和合并功能。它支持多种工作流程,并具有丰富的生态系统,包括各种图形用户界面和服务。 Git 的使用可以提高团队的协作效率,降低错误,确保代码可维护性和可追溯性。
1.2 Git与SVN的区别
1.2.1 详解
Git:
分布式版本控制: Git 是分布式版本控制系统,每个开发人员都拥有完整的代码库的副本。这允许离线工作、灵活的分支和合并,以及更好的协作。
速度: Git 在性能方面表现出色,因为它本地存储数据并使用快速的算法来处理操作。这使得 Git 在操作大型代码库时更加高效。
分支和合并: Git 的分支和合并操作非常轻松,允许开发人员创建、切换和合并分支,促进并行开发和实验性工作。
完整的历史记录: Git 记录每个提交的完整历史记录,包括修改的文件内容。这提供了更丰富的信息,有助于问题追踪和代码审查。
稳定性: Git 非常稳定,广泛用于许多大型开源项目和企业项目。
SVN (Subversion):
集中式版本控制: SVN 是集中式版本控制系统,代码库存储在中央服务器上,开发人员需要从服务器检出代码。这种方式限制了分支和合并的灵活性。
文件级别历史记录: SVN 跟踪文件级别的历史记录,而不是 Git 的内容级别。这在一些情况下可能导致信息不够详细。
传统文件锁定: SVN 支持文件锁定来避免多人同时编辑同一文件,但这也限制了并行开发的灵活性。
相对简单: 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的基本工作流程:
初始化仓库:
- 使用
git init
命令在本地目录中初始化一个新的Git仓库。进行修改:
- 在工作区进行代码编辑和修改。
暂存文件:
- 使用
git add <file>
命令将修改的文件添加到暂存区。- 可以多次使用
git add
命令添加不同的文件。提交变更:
- 使用
git commit -m "<message>"
命令将暂存区的文件提交到本地仓库。- 每次提交都会创建一个新的提交记录,记录了文件的变更和提交说明。
查看提交历史:
- 使用
git log
命令查看提交历史,包括每个提交的作者、时间和提交说明。分支管理:
- 使用
git branch
命令查看所有分支,并使用git checkout <branch>
命令切换到不同的分支。- 使用
git merge <branch>
命令合并不同分支的修改。远程仓库交互:
- 使用
git remote add <name> <url>
命令关联本地仓库和远程仓库。- 使用
git push <remote> <branch>
命令将本地提交推送到远程仓库。- 使用
git pull <remote> <branch>
命令从远程仓库获取最新的提交记录并合并到本地仓库。冲突解决:
- 当多个人同时修改同一文件的同一部分时,可能会发生冲突。
- 使用合适的工具(如编辑器或Git客户端)解决冲突,并使用
git add
命令将解决后的文件标记为已解决。- 使用
git commit
命令提交解决冲突的文件。
以上是Git的基本工作流程,通过这些步骤,你可以管理和追踪文件的版本历史,协作开发,并与远程仓库进行交互。深入理解Git的工作流程对于有效地使用和管理Git版本控制系统至关重要。
二、Git的安装以及常用命令
2.1 Git官网链接
Git官网如下(注:下载安装2.2以上的版本):
Git下载官网https://git-scm.com/downloads
2.2 安装步骤
进入官网进行安装操作:
选择存放路径:
然后一直点击Next即可。
下载完成后,在文件资源管理器中右键出现如图中,两个选项就说明安装成功。
2.3 Git的常用命令
Git 是一个强大的分布式版本控制系统,它有许多常用的命令,用于管理代码库。
2.3.1 常用命令概览
以下是一些常用的 Git 命令及其功能:
git init:在目录中初始化一个新的 Git 仓库。
git clone:从远程仓库克隆代码到本地。
git add:将文件或目录的更改添加到暂存区,准备提交。
git commit:提交暂存区中的更改到本地仓库。
git status:查看工作目录、暂存区和本地仓库的状态。
git log:查看提交历史记录。
git diff:比较工作目录中的更改与暂存区或本地仓库中的内容。
git branch:列出本地分支,或创建新分支。
git checkout:切换分支或还原文件。
git merge:合并一个分支的更改到当前分支。
git pull:从远程仓库拉取并合并更改。
git push:将本地更改推送到远程仓库。
git remote:管理远程仓库的别名。
git fetch:从远程仓库获取最新信息,但不合并。
git reset:重置当前分支到指定的提交。
git rebase:将当前分支的更改在另一个分支的基础上重新应用。
git tag:创建、列出或删除标签,用于标识特定提交。
git stash:暂存当前工作目录的更改,以便在另一个分支上工作。
git blame:显示每行代码的最后一次修改及作者信息。
git config:配置 Git 的各种选项,包括用户信息、别名等。
这些是 Git 中的一些常用命令,但 Git 还有许多其他命令和选项,用于处理更复杂的版本控制任务。你可以使用
git --help
或git help <command>
来查看 Git 命令的详细文档和用法。另外,Git 的社区和在线资源也提供了大量的教程和指南,以帮助你更好地理解和使用 Git。
2.4 使用前准备
首先我们需要有一个gitee 的账号,前往gitee的官网进行注册,如下:
gitee官网https://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命令及其理论解释:
git init:初始化一个新的Git仓库。
- 创建一个新的本地Git仓库,用于存储项目的版本历史和文件变更。
git clone <repository>:克隆一个远程仓库到本地。
- 从远程仓库中复制所有历史和文件到本地,创建一个与远程仓库相同的副本。
git add <file>:将文件添加到暂存区。
- 将指定文件的当前版本添加到Git的暂存区中,以准备提交到版本历史中。
git commit -m "<message>":将暂存区的文件提交到版本历史中。
- 创建一个新的版本记录,包含了暂存区中所有文件的当前状态,并附带一条简短的说明信息。
git push:将本地的版本历史推送到远程仓库。
- 将本地仓库中的最新版本推送到与之关联的远程仓库中,实现版本同步和团队协作。
git pull:从远程仓库拉取最新的版本到本地。
- 从与当前分支关联的远程仓库中获取最新的版本记录和文件变更,并自动合并到本地仓库。
git branch:列出所有分支。
- 显示当前仓库中包含的所有分支,以及当前所在的分支。
git checkout <branch>:切换到指定的分支。
- 切换当前工作目录到指定分支,并更新工作区中的文件以符合该分支中最新的版本记录。
git merge <branch>:将指定分支合并到当前分支。
- 将指定的分支合并到当前分支,将两个分支的修改组合在一起并创建一个新的提交记录。
git log:显示当前分支的版本历史。
- 显示当前分支中所有提交记录的详细信息,包括作者、提交时间、说明等。
四、学习Git的收获
学习Git可以带来许多收获,无论是个人开发者还是团队协作工作,以下是学习Git的一些收获:
- 版本控制:Git是一种分布式版本控制系统,学习Git可以帮助你有效地管理代码的版本历史。你可以轻松地回溯到以前的版本、比较不同版本之间的差异,并追踪每个修改是由谁进行的。
- 团队协作:Git提供了方便的团队协作功能,多个开发者可以同时在同一个代码库上工作并独立进行修改。通过Git,你可以合并和解决冲突,确保团队成员间的协作更加高效。
- 分支管理:Git的分支功能让你能够轻松地创建、切换和合并分支。这对于开发新功能、修复bug或并行开发多个特性非常有用。你可以在不影响主线开发的情况下进行实验和开发。
- 撤销和恢复:Git提供了撤销和恢复功能,当你发现某个修改有问题或者想回到之前的某个状态时,可以回退到以前的版本。这样你可以避免不必要的错误和损失。
- 远程仓库管理:学习Git还可以让你了解如何与远程仓库进行交互,例如GitHub、GitLab或Bitbucket等。你可以将你的代码推送到远程仓库,与他人分享你的工作,或者从远程仓库获取最新的修改。
- 持续集成和部署:Git可以与其他工具和服务集成,如持续集成(CI)和持续部署(CD)平台。这些工具可以自动化构建、测试和部署你的代码,提高开发流程的效率和稳定性。
- 开源社区:Git有一个活跃的开源社区,你可以从中学习和获取有关Git的资讯、教程和最佳实践。你可以参与开源项目,与其他开发者交流经验,并为开源社区做出贡献。
总而言之,学习Git将使你成为更有效的开发者,并帮助你更好地协作、管理和维护代码项目。无论是个人项目还是团队项目,掌握Git都是非常有益的。
最后Git的安装和常用命令&Git与SVN的区别&Gitee远程仓库团队开发代码共享演示就到这里,祝大家在敲代码的路上一路通畅!
感谢大家的观看 !