我想保持索引与现在完全相同,但我想直接将特定提交加载到工作树中。有没有办法在 git 中做到这一点?
问问题
85 次
2 回答
4
尽管先前的答案已被接受,但我认为它并不能真正回答问题。它不会将索引留在初始状态,而是在更新工作树后重置索引以匹配 HEAD。这将丢失已完成的任何工作git add
。
相反,我会使用一个临时索引:
export GIT_INDEX_FILE=.git/tmpindex
git read-tree abc123 # Read commit into (temporary) index file
git checkout . # Update working tree with contents of (temporary) index
rm $GIT_INDEX_FILE
unset GIT_INDEX_FILE
这将真正使正常索引保持在原始状态。
于 2013-02-13T16:04:50.507 回答
1
看起来你不能在一个命令中做到这一点,但你应该能够使用两个:
$> git cherry-pick -n abc123 # cherry-pick to index and WC, no commit
$> git reset # revert index
于 2013-02-13T15:20:05.193 回答