如何仅保留git提交历史记录的最新快照?

时间:2013-12-31 01:05:25

标签: git version-control

我有一个使用

克隆的本地git仓库
git clone --depth 1 my_repo_url

所以我只有最新的提交,不必担心保持一个大的历史。

如果我现在做一个git pull,我现在可能会收到另外两个来自远程仓库的提交。我想要做的是再次更新我的仓库只维护最新的提交而不是历史的其余部分。但是,我不想使用压缩/变基,因为当我尝试从远程服务器再次拉动时,这实际上会改变我的本地历史记录并导致冲突。

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

commit1 - > commit2 - > commit3 - > commit4

我想在commit4处仅保留repo的快照。

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

我也不想再次使用git clone,因为如果在远程服务器上的最新提交中发生了很小的变化,我可能只需要通过网络发送一个小差异这一事实。

1 个答案:

答案 0 :(得分:0)

你可能最好使用git-annex。

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