手把手教你用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


目录
相关文章
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将个人账号下的Git仓库转移到企业账号下
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
5月前
|
Shell 开发工具 git
解决git bash报错:在仓库中检测到可疑的所有权
总的来说,解决“在仓库中检测到可疑的所有权”的报错,关键在于理解和调整文件或目录的所有权。只要我们正确地设置了文件或目录的所有权,那么我们就可以避免这种问题,让Git Bash正常工作。
211 22
|
3月前
|
安全 Shell 开发工具
Windows下使用git配置gitee远程仓库
就在前几天因为一些原因,我的电脑重装了系统,然后再重新配置git的环境的时候就遇到了一些小问题。所以我决定自己写一篇文章,以便以后再配置git时,避免一些错误操作,而导致全网搜方法,找对的文章去找对应的解决方法。下面为了演示方便就拿gitee来演示,不拿GitHub了写文章了。
202 0
|
8月前
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
443 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
5月前
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
2644 11
|
IDE 网络安全 开发工具
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
141 1
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
|
8月前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
327 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
11月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
634 1
git学习三:git使用:删除仓库,删除仓库内文件
|
10月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
387 2