如何只维护git提交历史的最新快照



我有一个使用克隆的本地git repo

git clone --depth 1 my_repo_url

这样我就只有最新的承诺,而不必担心保存大量历史。

如果我现在进行一次git pull,那么我现在可能会从远程回购中再收到两次提交。我想做的是更新我的回购,再次只维护最新的提交,而不是历史的其余部分。然而,我不想使用挤压/重新定基,因为这实际上会改变我的本地历史记录,并在我试图再次从远程服务器上提取时导致冲突。

基本上,如果我有一个提交历史:

commit1->commit2->commit3->commit4-

我只想在commit4点维护回购的快照。

但我不想压缩所有这些提交,因为这样我将留下commit4*,它将具有与原始commit4不同的哈希,因此当我再次尝试从原始commit4**中提取时会引起冲突。

我也不想再次使用git克隆,因为这不会利用这样一个事实,即如果在远程服务器上的最新提交中发生了非常小的变化,我可能只需要通过网络发送一个小的diff。

您最好使用git附件。

http://git-annex.branchable.com/

相关内容