gitc.id⊙ “用于git的电动工具” ⊙版权所有©2021 Jeremy Carter < [email protected] >

该软件的使用受包括的MIT许可证(GitHub Mirror)的条款约束。
ssh和rsync快速部署新的git遥控器,您可以将其推入其中的gitcid工具。git存储库,并在其中添加gitcid工具。gitcid工具播放在每个本地或远程git Repo中,您可以使用一个命令将它们添加到任何现有的存储库中。gitcid时,它会在docker-compose (启动工作)的帮助下获得内置的CI/CD功能。yaml格式指定您的CI/CD pipelines ,如果您以前使用过其他CI/CD系统,则可能对您感到舒适。dedicated git servers部署到ssh远程位置。建议将它们安装在LAN上的一些专用设备上,例如Raspberry Pi运行Raspberry Pi OS (aarch64 or armhf) 。常规的Debian (amd64)目标也得到了支持。也许它也适用于一些Debian-derived发行版,但尚未进行测试。git server ,它将自动与LAN的其余部分共享其发现的所有git repos 。GitWeb UI浏览您的共享git repos 。 GitCID如果系统缺失,则将尝试自动为您安装它们,但是如果失败,您可能需要自己安装它们:
pip或pip3中找到的版本(Python的软件包管理器)是正常工作的版本。根据您的操作系统,还需要更多的依赖项,但是在大多数情况下应自动安装它们。有关完整的详细信息,请参见.gc/.gc-deps中的文件。
确保您已经安装了git和curl ,然后运行以下命令:
source <( curl -sL https://tinyurl.com/gitcid )当此命令完成时,它将在当前目录中创建一个名为gitcid的新文件夹,然后将您带入此新文件夹。
(可选)或者,如果您愿意,可以运行此命令:
git clone https://gitlab.com/defcronyke/gitcid.git && cd gitcid && echo " " && .gc/init.sh -h在gitcid文件夹中,运行此命令:
.gc/new-remote.sh ~ /repo1.git~/repo1.gitgit clone命令,如果一切正常工作,您可以使用该命令在输出底部克隆新的存储库。您也可以在新的远程回购位置使用远程ssh路径,而不是本地路径:
.gc/new-remote.sh git1: ~ /repo1.git一个示例git clone命令来克隆您的git repo可能看起来像这样:
git clone git1: ~ /repo1.git && cd repo1这只是克隆git存储库的常规方式。
当您制作新的远程存储库时,您还将获得一个命令,可以用来将GitCid功能添加到您从遥控器克隆的本地克隆回购中。如果您需要,这是同一命令。运行此命令时,请确保您在本地存储库中:
source <( curl -sL https://tinyurl.com/gitcid ) -e上面的命令将在.gitignore'd文件夹中添加Gitcid: .gc/
从Gitcid Repo的顶级目录中运行此命令,以获取使用信息:
.gc/init.sh -h从您想安装GitCID的现有GIT仓库的顶级目录中运行此命令(它适用于常规和裸仓库):
source <( curl -sL https://tinyurl.com/gitcid ) -e注意:远程目标需要安装rsync 。
从GitCID存储库的顶级目录中运行这些.gc/init.sh命令,以制作新的Gitcid Git存储库。
在当前目录中使用默认名称为“ repo ”的新本地git repo:
.gc/init.sh制作新的本地git仓库:
.gc/init.sh ./local-repo在目标SSH服务器路径上制作新的远程git仓库:
.gc/init.sh user@host: ~ /remote-repo立即制作几个新的GIT存储库本地和/或远程远程存储库:
.gc/init.sh local-repo1 user@host: ~ /remote-repo1 user@host: ~ /remote-repo2 ./local-repo2立即制作几个新的Bare Git存储库(适合使用AS GIT遥控器),本地和/或远程:
.gc/init.sh -b user@host: ~ /remote-bare-repo1.git local-bare-repo1.git ./local-bare-repo2使用此项目的工具,在目标SSH位置安装GIT服务器:
https://gitlab.com/defcronyke/git-server
目前支持的目标平台:
平台支持愿望清单(如果您想帮助增加这些支持,请随时测试并贡献修复建议):
也许它可以在其他基于Debian或Debian的平台上使用,但这尚未经过测试。
警告:出于您自身的风险!您只能在本节中运行命令,将专用的Git服务器安装到新鲜安装的Linux发行版上,该功能仅用于仅用作为专用的Git服务器!这将自动安装一些依赖项,并执行一些您可能不希望在用于其他目的的设备上具有的系统配置。自行使用!你已经被警告过!
ssh在bash终端git server运行以下命令:
source <( curl -sL https://tinyurl.com/gitcid ) && .gc/new-git-server.sh -o pi@git1 $USER @gitlab通常,它只是有效的,并且在上面使用的-o标志后,它应该为安装完成后在网络上找到的每个GIT服务器自动打开一个网页。有关更多信息和其他选项,请参见下一部分。
上面的示例还将安装gitcid ,这使与GIT服务器一起工作变得更加容易。如果您已经安装了gitcid ,则无需再次安装它,因此,在这种情况下,您可以省略上述命令的第一部分,例如:
.gc/new-git-server.sh -o pi@git1 $USER @gitlab只需在尝试运行任何gitcid命令之前,请先确保您首先进入gitcid/文件夹(或任何gitcid启用Git Repo)。
安装gitcid:
source <( curl -sL https://tinyurl.com/gitcid )如果成功,您现在将进入刚下载的./gitcid/文件夹中。您需要在此文件夹中进行步骤2。
在给定的ssh目标位置将新的Git服务器安装到专用设备上:
.gc/new-git-server.sh -h.gc/new-git-server.sh git1 git2 gitlab.gc/new-git-server.sh -o git1 git2 gitlab.gc/new-git-server.sh -y git1 git2 gitlab.gc/new-git-server.sh -yo git1 git2 gitlab.gc/new-git-server.sh -s git1 git2 gitlab.gc/new-git-server.sh -so git1 git2 gitlab~/.ssh/config文件中使用了每个主机名的SSH配置,但是如果您愿意,可以在下面的命令中为每个目标添加一个用户名。您可以为上述任何各种命令中的任何一个执行此操作,例如: .gc/new-git-server.sh -yo pi@git1 pi@git2 $USER @gitlab如果所有内容都按预期运行,则您的git服务器现在可以使用。有关更多详细信息,请参见终端中的输出。在并行安装期间(默认行为,除非使用-s标志变体),如果未在目标上配置非相互作用的sudo支持,则系统将返回到需要手动输入SUDO密码的任何目标的顺序安装模式。成功地键入SUDO密码后,将尝试在目标上尝试使用无密码的Sudo配置,以使与该目标的任何未来相互作用都可以完全自动化。
这是一些如何使用Git服务器进行一些常见的GIT相关任务的示例。以下命令应从gitcid/文件夹内部或任何gitcid启用Git Repo内部运行。
在git服务器上创建一个新的git远程存储库,例如一个名为repo1.git的仓库git1上的回购。
.gc/new-remote.sh git1:repo1新创建的远程存储库将在短时间后使用,通常不到1分钟。如果您在尝试使用新创建的远程存储库时会收到错误,则自创建后1分钟之后重试,它应该起作用。
克隆服务器的新存储库的本地副本:
git clone git1: ~ /git/repo1.git
cd repo1对您的新存储库进行一些更改,然后将其推到GIT服务器上的Origin遥控器:
date | tee -a test1.txt
git add .
git commit -m " A test commit. "
git push (可选)如果您想在存储库中工作时使用任何gitcid命令,请将gitcid添加到您的Git Repo的本地副本中。在存储库中运行以下命令以安装gitcid功能:
source <( curl -sL https://tinyurl.com/gitcid ) -e (可选) gitcid从上一步添加到您的存储库中,您可以更轻松地提交并推动:
.gc/commit-push.sh Commit message.如果您想为git server的开发做出贡献,则可以在此期间运行此命令,以帮助您为此目的设置开发环境:
source <( curl -sL https://tinyurl.com/gitcid ) -d它将克隆所有相关的项目GIT存储库,并为方便起见将gitcid安装到其中。