-
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
命令与远程仓库通信,并提取该仓库中你当前仓库中没有的所有信息,并将其存储在你的本地数据库中。
我们首先在 从你的远程仓库中提取和拉取 中查看此命令,并且我们继续在 远程分支 中看到其使用示例。
我们还在 为项目做出贡献 中的几个示例中使用它。
我们使用它来提取 Pull Request 引用 中默认空间之外的单个特定引用,并且我们看到如何在 捆绑 中从捆绑中提取。
我们在 引用规范 中设置了高度自定义的引用规范,以便让 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
挂钩,这是一个脚本,我们可以在推送完成之前设置它以验证是否应该允许推送。
最后,在推送引用规范中,我们使用完整的引用规范而不是通常使用的常规快捷方式来进行推送。这可以帮助你非常具体地了解你希望共享哪些工作。
git remote
git remote
命令是用于管理你的远程仓库记录的管理工具。它允许你将长 URL 保存为短句柄,例如“origin”,这样你就不必每次都输入它们。你可以拥有多个这样的句柄,并且 git remote
命令用于添加、更改和删除它们。
此命令在使用远程仓库中进行了详细介绍,包括列出、添加、删除和重命名它们。
它也在本书的几乎每一章中使用,但始终采用标准 git remote add <name> <url>
格式。
git submodule
git submodule
命令用于管理普通仓库中的外部仓库。这可以用于库或其他类型的共享资源。submodule
命令有几个子命令(add
、update
、sync
等)用于管理这些资源。
此命令仅在子模块中提及并进行了全面介绍。