现在一直使用git,但只有基本功能.
为了切换到Textmate并保留Eclipse所具有的酷炫本地历史功能,我做到了这一点.哪个工作得很好.
但现在我正在与一个私有github存储库的团队合作.我不想用我当地无用的提交历史来污染团队.
我知道有一些工具可以编辑我的提交,但是:
git rebase -i
你问我要不要告诉我你要反对哪个分支,
SNIP
什么分支?:)
所以我想知道你是否有关于如何管理所有这些的提示.我想将一个文件的所有提交合并为一个提交最大值.并编辑消息,使其显示有用的内容.
谢谢!
git rebase -i
希望你告诉它要处理的提交范围.最常见的用途是
git rebase -i HEAD~4
这将允许您"编辑"当前签出分支中的最后4个提交.
我不确定你为什么要"按文件"这样做.此外,如果你有合并,'rebase -i'会让你头疼.根据我的推断,你可以这样做:
将当前提交设置为更改的开头,但保持工作目录不变.
git reset --mixed HEAD~10
如果您有10次提交更改,这会将您移回到您开始的位置."mixed"将确保您不进行任何这些更改并且索引是干净的.
然后,提交对每个文件的更改:
git add path/to/one/of/the/files/file.txt git commit -m "added feature X to file.txt"
重复其余文件.沿途检查git status
.
当你推送时,你可能需要添加-f选项(--force),如果你已经推送了一些提交.如果其他人正在处理这些提交,请让他们知道你这样做了.他们将不得不改变他们的变化.