关于GIT的一个非常基本的问题:
如何删除所有尚未推送到远程存储库的提交,以便我对文件的修改仍然存在?
答案 0 :(得分:1)
git reset --soft origin/master
该命令将HEAD
移回原始分支,但保留了工作存储库。
答案 1 :(得分:1)
你能试试吗?
git log --oneline
git reset --soft COMMIT
其中COMMIT
是推送到远程存储库的最新提交。
答案 2 :(得分:1)
如果 确实 想要删除提交,则需要从键值存储中删除对象。
这可以通过在添加任何提交之前首先将分支重置为提交来完成。
git reset --soft <COMMIT-SHA>
--soft标志将保留您的工作目录。我假设您所指的 模板 位于您工作目录的某个位置?
通常,origin / master将指向COMMIT-SHA,如果不是,则执行
git log --oneline
或同等学历。
完成此操作后,您需要 修剪 存储库。
Here is an answer which explains how
基本上你需要:
git reflog expire --expire-unreachable=now --all
git gc --prune=now
没有任何理由这样做,因为最终git会自动执行此操作。
答案 3 :(得分:0)
试图理解,我们需要有关您问题的更多详细信息。
你想:
这不是你的答案,只是一个提示:使用分支。