-
A1. 附录 A:其他环境中的 Git
- A1.1 图形界面
- A1.2 Visual Studio 中的 Git
- A1.3 Visual Studio Code 中的 Git
- A1.4 IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine 中的 Git
- A1.5 Sublime Text 中的 Git
- A1.6 Bash 中的 Git
- A1.7 Zsh 中的 Git
- A1.8 PowerShell 中的 Git
- A1.9 总结
-
A2. 附录 B:在应用程序中嵌入 Git
-
A3. 附录 C:Git 命令
A3.5 附录 C:Git 命令 - 共享和更新项目
共享和更新项目
Git 中访问网络的命令不多,几乎所有命令都在本地数据库上操作。 当您准备好共享您的工作或从其他地方拉取更改时,有几个命令可以处理远程仓库。
git fetch
git fetch
命令与远程仓库通信,并提取该仓库中所有不在您当前仓库中的信息,并将其存储在您的本地数据库中。
我们首先在从远程仓库获取和拉取中查看此命令,并在远程分支中继续看到其用例示例。
我们还在为一个项目做贡献中的几个示例中使用它。
我们设置了高度自定义的引用规范,以便在Refspec中,使 git fetch
执行一些与默认值略有不同的操作。
git pull
git pull
命令基本上是 git fetch
和 git merge
命令的组合,Git 将从您指定的远程仓库中获取,然后立即尝试将其合并到您所在的分支中。
我们在从远程仓库获取和拉取中快速介绍了它,并在检查远程仓库中展示了,如果您运行它,它将合并什么。
我们还看到如何使用它来帮助解决当您变基时变基中的变基困难。
我们展示了如何使用带有 URL 的它以一次性方式拉取更改,位于检出远程分支。
最后,我们很快提到您可以使用 --verify-signatures
选项来验证您正在拉取的提交是否已在签署提交中进行了 GPG 签名。
git push
git push
命令用于与其他仓库通信,计算您的本地数据库中远程仓库没有的内容,然后将差异推送到另一个仓库中。 它需要对另一个仓库的写入访问权限,因此通常以某种方式进行身份验证。
我们首先在推送到您的远程仓库中查看 git push
命令。 在这里,我们介绍了将分支推送到远程仓库的基础知识。 在推送中,我们将更深入地了解推送特定分支,在跟踪分支中,我们了解如何设置跟踪分支以自动推送。 在删除远程分支中,我们使用 --delete
标志来删除服务器上具有 git push
的分支。
在整个为一个项目做贡献中,我们看到了几个使用 git push
通过多个远程仓库共享分支上的工作的示例。
我们了解如何使用它来共享您使用 --tags
选项在共享标签中制作的标签。
在发布子模块变更中,我们使用--recurse-submodules
选项来检查所有子模块的工作是否已发布,然后再推送父项目,这在使用子模块时非常有用。
在其他客户端钩子中,我们简要讨论了pre-push
钩子,这是一个可以设置在推送完成之前运行的脚本,用于验证是否应该允许推送。
最后,在推送 Refspecs中,我们研究了使用完整的 refspec 而不是通常使用的通用快捷方式进行推送。 这可以帮助你非常具体地说明你希望共享的工作。
git remote
git remote
命令是一个管理远程仓库记录的工具。它允许您将长URL保存为短句柄,例如“origin”,这样您就不必一直输入它们。您可以有多个这样的句柄,而git remote
命令用于添加、更改和删除它们。
此命令在使用远程仓库中有详细介绍,包括列出、添加、删除和重命名它们。
它几乎在本书的每个后续章节中都有使用,但始终采用标准的git remote add <name> <url>
格式。
git submodule
git submodule
命令用于管理普通仓库中的外部仓库。这可以是用于库或其他类型的共享资源。submodule
命令有几个子命令(add
、update
、sync
等)用于管理这些资源。
此命令仅在子模块中提及和完全覆盖。