这个答案解释了通常情况下git提交SHA是基于各种参数生成的。然而,我想知道:如何在Bash中指定自定义/特定的git提交SHA?
例如,假设有人想要创建并推送一个具有以下SHA的提交到Git:
1e23456ffd118db9dc04caf40a442040e5ec99f9
< p >(为简单起见,假设可以假定它是唯一的sha)。
XY问题是两个不同Git服务器之间的手动镜像脚本。与在Git服务器之间保持提交映射相比,拥有相同的提交SHA更加方便。这是因为如果我可以跳过来自source
服务器的某些提交,则手动镜像更有效(节省计算时间和服务器带宽)。然而,这意味着父提交会相对于source
服务器中的同一提交在target
服务器中发生变化。反过来,这将意味着SHA发生变化,这将要求我跟踪source
和target
服务器中的sha映射。简而言之,仅覆盖提交的sha到target
服务器比确保两个服务器具有完全相同的提交更方便(对于实际上被镜像的少数提交)。
git tag
的东西。 - Jonathan Weine