Git
来自维基百科:Git 是免费且开源的分布式版本控制软件:跟踪任何文件集中所做的更改,通常用于协调程序员在软件开发期间协作开发源代码的工作。其目标包括速度、数据完整性和对分布式、非线性工作流的支持(在不同的系统上运行的数千个并行分支)。
Git 可用于所有现代平台。它大多与管理代码(如 PHP、Java 或 Python)相关,但它可用于管理任何基于行的文本,例如以 Markdown 格式编写的本指南。Git 可从命令行使用,不过大多数用户依赖于集成开发环境 (IDE) 来编写和运行 Git 命令。
要了解更多信息,请先从 Git Basics 页面开始,然后转到所引用的基于 Github 的示例。
参考
以下文章来自 docs.joomla.org
- Git 分支快速入门
- 使用 git 和 github
- 面向测试人员和跟踪人员的 Git
- 设置 Eclipse PDT 2020 和 Git 以进行提取
- 我在 Github 上的第一个 Joomla! 拉取请求
在新的文档被认为成熟后,这些引用可能会被删除。
本文档提供了使用命令行快速逐步获取 git 分支和快速运行设置的过程。
步骤 1:创建分支存储库
- 创建一个 GitHub 帐户(https://www.github.com - "免费注册")
- 创建您想要修改的 Joomla 存储库的一个分支。可以通过单击一个分支按钮来完成此操作。
- 单击分支后。为您的分支存储库命名并单击创建。
- 确保您已登录您的 GitHub 帐户
- 转到 https://github.com/joomla/joomla-cms/ (Joomla! CMS) 或 https://github.com/joomla-framework/ (Joomla! Framework)
- 单击右上方的"分支"按钮,并等待该过程结束。
- 您现在在 GitHub 上拥有一个 Joomla 存储库的分支,位于 ...github.com/yourusername/joomla-....
步骤 2:创建工作副本
您可以为您的项目创建单个工作副本或多个工作副本。一般来说,Git 分支允许您在一个工作场所处理多个项目副本。如果您想处理并发项目,您可能希望有多个工作副本。您可以找出最适合您的流程。按照每个工作副本完成这些说明
- 转到 GitHub 上的分支(例如,http://github.com/YourName/joomla-cms)
- 默认情况下,应选择"读写访问"链接。如果您已设置 SSH 密钥,则使用此选项。如果没有,则应选择 HTTPS。通过突出显示或选择"复制到剪贴板"选项来复制链接。
- 现在,在本地计算机上打开您的终端(Windows:GIT BASH 链接;Mac:终端;Linux:您最喜欢的终端模拟器)
- 并遵循以下命令
git <clone paste copied URL> <here path to target directory>
这儿到目标目录的路径是可选的。建议的方法是转到您的目标文件夹并在该文件夹中打开您的终端,然后只需运行上述命令而不提供到目标目录的路径。如果您提供路径,它应该看起来像这样
git clone https://github.com/pasamio/joomla-cms.git /Users/pasamio/joomla-cms
如果您在目标目录中,那么您的命令应如下所示
git clone https://github.com/pasamio/joomla-cms.git
注意:如果目录不存在,Git 会自动创建路径。5. 现在转到克隆的 repo 文件夹
cd <path to target directory>
例如
cd /Users/pasamio/joomla-cms
- 为这个分支添加 Joomla 存储库的远程来源。转到 https://github.com/joomla/joomla-cms/ 并复制“Git 只读”链接。
- 可以通过粘贴以下命令将远程添加到 repo 中
git remote add joomla <copied URL>
看起来应该是这样的
git remote add joomla git://github.com/joomla/joomla-cms.git
恭喜!这时候你已经克隆了你的存储库(它将成为称为“源”的远程)并添加了你正在处理的 Joomla Project 存储库的远程(作为“joomla”)。
步骤 3:创建新分支
每次你开始处理新功能、错误修复或概念时,我们建议你从新分支开始。在 Git 中进行分支和合并比在 Subversion 中容易,因为 Git 会自动处理在两个地方进行的相同更改导致的许多冲突。每个分支都可以包含你正在处理的特定项目,你可以在同一工作副本中的分支之间轻松切换。由于 Git 的设计是分布式的,因此你可以先将更改提交到分支中的工作,然后再切换分支,而无需将这些更改推送到更广阔的世界。
- 创建新分支之前,请确保你有最新的更改。这可以通过发出一个拉取请求来完成
git pull origin <origin name>
- 从这里开始,所有的更新都将从所有存储库(最重要的是 Joomla)下载。
- 通过以下操作创建一个新分支并签出
git checkout -b <yourbranchname> joomla/master
- 现在你就在你的新分支中了。极有可能会在终端中以方括号形式显示你的新分支的名称。
- 现在你可以对代码进行更改了。
- 一旦你进行了所需的更改,就可以暂存你的代码了。暂存是你将代码推送到 repo 之前的一个基本过程。暂存只是意味着你的代码已准备好与主源代码合并。
- 你可以通过使用以下命令来提交或暂存你的代码
git add .
git commit -m "your message/ a short description of changes you have made"
这里添加 . 意味着添加你已做出更改的所有文件。8. 现在你可以准备好推送你的代码
git push -u origin
如果你使用的是 HTTP 协议,这可能会要求你输入你的 GitHub 用户名和密码。如果你使用的是 SSH 协议,它可能会要求你输入 SSH 密钥的密码。“-u”选项用于将其标记为“上游”版本,并将针对此分支进行跟踪。这意味着将来你可以“git push”和“git pull”来自动接收来自此远程和分支的更新(如果你在独自工作,你可能只需要执行“git push”)。
现在你已经创建了一个新分支,做了一些更改,并将其推送到了你在分支 repo 中的新分支。现在是时候将其与你的主分支合并了。
第 4 步:与主分支合并
一段时间后,可能需要从上游存储库合并变更。这可能是,因为这些变更与存储库中的其他变更冲突(使某个拉取请求“无法合并”),因为你需要/希望从存储库获取更新以继续工作,或者仅仅是为了在你的提交之间保持小的变更差异。
有两个主要选项。第一个是使用简单的合并。这将尝试从远程存储库中提取变更并自动在本地合并。这可能会导致与你的工作产生冲突,这将需要你手动合并(与有冲突时 Subversion 中发生的情况一样)。
你可以通过执行显式的“git merge”或执行“git pull”进行合并。执行“git pull”就像执行“git fetch”,之后执行“git merge”,它将确保你正在从远程存储库合并最新变更
git merge joomla master
这将提取存储库中的最新变更并合并。你可能会收到一条通知,指出存在你要解决的冲突。在解决冲突后,你需要进行提交来标记这些变更。
或者,你可以转到你的主分支并在此处发出拉取请求。
git pull origin <new branch name>
此部分缺失,请使用此页面底部的编辑此页面链接来添加此部分。