Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小到大的所有项目。
Git 依赖于软件分布式开发的基础,其中多个开发人员可以访问特定应用程序的源代码,并可以修改其他开发人员可能看到的更改。它允许用户拥有项目的“版本”,显示随着时间的推移对代码所做的更改,并允许用户在必要时回溯并撤消这些更改。
GIT 中的存储库包含项目的各种不同版本的文件集合。这些文件从存储库导入到用户的本地服务器,以进一步更新和修改文件内容。 VCS 或版本控制系统用于创建这些版本并将它们存储在称为存储库的特定位置。
Git 中的存储库有两种类型:
- 本地存储库:由于其分布式特性,Git 允许用户在来自世界各地的项目上执行工作。这可以通过从存储在用户本地计算机上的 GitHub 中的中央存储库中克隆内容来完成。这个本地副本用于在将它们添加到中央存储库之前在本地机器上执行操作和测试它们。
- 远程存储库: Git 允许用户将他们的本地存储库副本同步到 Internet 上存在的其他存储库。这样做可以避免多个开发人员执行类似的操作。 Git 中的每个存储库都可以通过名为remote的快捷方式进行寻址。
Git 提供了根据用户需要在这些存储库上执行工作的工具。这种对存储库执行修改的工作流称为工作树。
裸仓库:裸仓库是一个远程仓库,可以与其他仓库交互,但不对这个仓库进行任何操作。由于相同,此存储库没有工作树。可以使用以下命令在用户的本地机器上创建 Git 中的裸存储库:
$ git init --bare
裸仓库总是以 .git 扩展名创建。这用于存储在存储库上执行的所有更改、提交、引用等。它通常是一个隐藏目录。
Git 存储库也可以转换为裸存储库,但这更多的是手动过程。 Git 没有正式提供支持来做同样的事情。但是,通过将 .git 文件夹的内容移动到根文件夹并从存储库的当前工作树中删除所有其他文件,可以轻松地将其转换为裸存储库。
此外,需要使用以下命令更新 Git 存储库:
$ git config core.bare true
始终建议在执行此类操作之前克隆存储库。如何克隆 Git 存储库?
Git 允许其用户同时在多个本地机器上执行单个项目的工作。这可以通过将存储库的副本下载到本地机器上并在修改完成并准备好移动后使用中央服务器进一步更新来完成。这个克隆过程可以通过使用预定义的 git 命令来完成
$ git clone
这将创建现有 Git 存储库的精确副本,其中包含所有先前克隆的存储库的完整历史记录。用户可以对存储库的本地副本执行任何操作,并且可以放弃这些更改,而无需对原始存储库进行任何更改。
将远程仓库添加到本地仓库
用户还可以通过将远程存储库添加到本地存储库来处理远程存储库。这将使获取和推送过程比从中央存储库执行相同操作要容易得多。当使用 clone 命令完成克隆过程时,会创建一个名为 origin 的默认远程存储库。这个远程“来源”链接到克隆的存储库。
在这里,可以看到只有一个名为 origin 的存储库,它是默认存储库。
要将内容推送到此存储库,请使用git push
命令。默认情况下,它将内容推送到源远程。
要使用本地存储库添加远程存储库,请使用$ git remote add
命令。文件名和路径将作为参数传递给此命令。
$ git remote add
这将在给定路径中添加远程存储库和本地存储库。
在这里,可以看到一个名为 new_remote 的新存储库已添加到现有遥控器中。重命名远程存储库
需要时可以重命名远程存储库。 rename
的 Git 命令来完成。
$git remote rename
Note:The default remote repository ‘origin’ gets created only when a repository is cloned but not when a repository is created with the use of git init
command.
将更改推送到远程存储库
用户在本地存储库中完成修改后,需要将这些更改推送到远程存储库中。这可以通过git push
命令来完成。用户可以通过将其名称作为参数传递来定义要将哪个分支推送到存储库中。
默认情况下,数据将从当前分支推送到远程存储库的同一分支。
从远程存储库拉取或获取
从中央存储库拉取或获取数据是为了更新协作者的存储库本地副本。这有助于用最新版本替换旧版本。这个过程是通过使用称为git pull
或git fetch
的 Git 命令来完成的。
Pull
命令和fetch
命令都可以用于同一个作业,因为它们都将存储库更新到最新版本。 fetch 命令和 pull 命令之间的唯一区别是fetch
命令只更新远程分支而不是本地分支,而pull
命令更新本地和远程存储库。