手把手教你用Git——Git如何管理仓库

简介: 背景 由于本社新人并不常用Git,再加上国内的网络并不算好,在这样一个背景下,为了简化Git的使

前言

背景

由于本社新人并不常用Git,再加上国内的网络并不算好,在这样一个背景下,为了简化Git的使用,我在这里简单记录了一个关于 Git的教程,希望对大家有所帮助。

关于本教程的编写环境

本文基于Windows10系统Mac系统的小伙伴可以尝试Homebrew。由于本人手里并没有搭载MacOS的电脑,因此Homebrew相关的使用请自行尝试。

对于使用 Windows11系统 的小伙伴,本文的教程是通用的,不过一些细节可能略有不同,这点希望小伙伴们注意一下

关于Git

Git 是一个开源的分布式版本控制系统,可以有效、快速的进行项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 ——来自 Git 简介 | 程序员大彬 (topjavaer.cn)

简单来说,Git 就是一个项目代码管理软件

关于本教程的评论

这个教程基于我的个人实践,很多东西基于我个人的理解,所以有望大家多多指教。如果你发现了这个教程的错误之处,欢迎你通过邮箱或者QQ联系我,我会及时的进行改进。如果教程中有表述不清楚的地方,也请指出,或提供建议。

关于本教程的转载

任何个人或组织可以转载我的这个教程系列,甚至可以对其进行一些修改。但前提是要保证实时更新,并且保留本教程的版权信息,谢谢支持,我也会不定时的更新这个系列的教程。

正文

安装与使用

具体安装教程可以看看这个系列的第一期:手把手教你用Git——Git使用教程(一) - 掘金 (juejin.cn)Git Submodule是Git版本控制系统的一个功能,它允许将一个Git存储库嵌套到另一个Git存储库中,以便能够对其进行独立的版本控制。

Git Submodule

通过Git Submodule,可以将外部Git存储库作为一个子模块添加到您的项目中,这个子模块本身具有自己的版本控制和历史记录。这对于处理依赖关系特别有用,例如,当您的项目依赖于其他开源项目时,您可以将这些项目作为子模块添加到您的项目中,以便能够随时跟踪它们的更新。

下面我将结合具体的指令,进一步介绍如何使用Git Submodule:

  1. 添加子模块 使用git submodule add命令来添加一个子模块,例如:
git submodule add https://github.com/example/submodule.git path/to/submodule
复制代码

这将在您的项目中创建一个名为path/to/submodule的子目录,并将https://github.com/example/submodule.git作为子模块添加到该目录中。您可以将子模块添加到存储库的任何目录中,只需将path/to/submodule替换为您希望将子模块添加到的目录路径即可。

  1. 初始化和更新子模块 在添加子模块后,您需要使用git submodule init命令来初始化子模块,并使用git submodule update命令将子模块克隆到本地存储库中。例如:
git submodule init
git submodule update
复制代码

这将初始化并更新所有子模块。如果您只需要更新某个子模块,可以使用--remote选项来获取最新版本的代码:

git submodule update --remote path/to/submodule
复制代码
  1. 提交子模块更改 在对子模块进行更改后,需要将更改提交到父存储库中。首先,您需要在子模块中进行更改并提交:
cd path/to/submodule
# Make changes and commit them
git add .
git commit -m "Updated submodule"
复制代码

然后,您需要返回到父存储库并提交子模块更改:

cd ..
git add path/to/submodule
git commit -m "Updated submodule"
复制代码

git-repo

Git Repo是由Google开发的用于管理多个Git存储库的工具。它提供了一个单独的Git存储库,称为“仓库”,用于存储多个Git存储库的信息和配置,并提供了一组命令,使得在多个Git存储库之间进行协同开发更加容易。

使用Git Repo,您可以轻松地在一个仓库中管理多个Git存储库,并针对这些存储库执行常用的Git命令,例如克隆、提交、推送等。

以下是一些常用的Git Repo命令:

  1. 初始化一个新的仓库

使用repo init命令来初始化一个新的仓库,并指定使用哪个仓库清单来描述要管理的Git存储库。例如:

repo init -u https://example.com/manifest.git
复制代码

这将使用名为manifest的Git存储库清单来初始化一个新的仓库。

  1. 同步仓库和存储库

使用repo sync命令来同步仓库和存储库,将存储库中的所有更改同步到本地仓库中。例如:

repo sync
复制代码

这将使用存储库清单中描述的Git存储库来同步本地仓库和存储库。

  1. 切换到不同的Git分支

使用repo start命令来创建一个新的分支,并将所有存储库切换到该分支。例如:

sql
repo start my-new-branch
复制代码

这将创建名为my-new-branch的新分支,并将所有存储库切换到该分支。

  1. 提交更改

使用repo upload命令来提交更改,并将它们推送到存储库。例如:

repo upload


目录
相关文章
|
3月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将个人账号下的Git仓库转移到企业账号下
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
IDE 网络安全 开发工具
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
|
8天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
23 2
|
1月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
143 1
git学习三:git使用:删除仓库,删除仓库内文件
|
1月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
63 4
|
1月前
|
存储 开发工具 git
Git 远程仓库地址管理:添加、修改和验证
Git 远程仓库地址管理:添加、修改和验证
56 4
|
1月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
187 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
2月前
|
开发工具 git
IDEA更改远程git仓库地址
【9月更文挑战第27天】本文介绍了两种在IntelliJ IDEA中更改远程Git仓库地址的方法:一是通过图形界面,在VCS设置中直接修改;二是通过IDEA内置的命令行工具使用`git`命令进行更改。具体步骤包括从版本控制菜单进入项目设置、修改远程仓库URL,以及使用`git remote set-url`命令更新仓库地址,并验证修改结果。这些方法适用于项目迁移或更换仓库地址的情况。
541 6
|
2月前
|
Linux 开发工具 git
linux自建仓库git之钩子不生效
linux自建仓库git之钩子不生效
|
1月前
|
网络协议 网络安全 开发工具
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)