当我在交互式rebase期间拆分提交时,我经常想从最后一次提交中提取特定文件。
我目前的流程是
如果我可以软复位特定文件,我觉得这会更简单。
答案 0 :(得分:8)
您是否尝试git checkout $COMMIT_HASH some_file.ext
?
您可以使用此功能将文件恢复为之前的状态,然后git将此更改发布。
答案 1 :(得分:7)
这似乎符合您的要求:
git reset [-q] [commit] [--] paths…
此表单会重置索引 所有paths
到commit
州的条目。 (它不是 影响工作树,也不影响当前分支。)这意味着git reset与git add相反。
答案 2 :(得分:0)
我不确定这是否是最佳解决方案。
git reset HEAD~
git add .
git commit
(optional) git reset --hard HEAD
答案 3 :(得分:0)
一种简单的方法可能是
添加所有文件
git add。
现在重置您不想提交的文件
git reset'file1.ext' git reset'file2.ext' ... 如此
继续提交并推送