我使用BitBucket和SourceTree。我有两个分支Dev_1.2.2
和Dev_1.2.3
我在Dev_1.2.2
上提交了一些文件但没有推送。我不想在Dev_1.2.2
上提交或推送这些文件,因此我在Dev_1.2.3
成功提交了文件,但无法从Dev_1.2.2
恢复/删除提交。
如何使用SourceTree从分支恢复此提交?
答案 0 :(得分:1)
不完全确定你在问什么,但我可以看到两个选项:
要反转SourceTree中的特定提交,请执行以下操作:
Dev_1.2.2
分支,查看Dev_1.2.2
分支。应该这样做,它会创建一个反转提交。您的历史记录现在将显示您首先添加了文件,然后是第二次提交,表明您已再次删除它们。
如果你想在没有显示历史记录的情况下摆脱整个提交,你可以在添加文件之前将分支重置为提交。
为此,您需要执行以下操作:
alter table table_name
nocheck constraint fk_constraint
分支,查看 getViewSite().getPage().addPartListener(new IPartListener() {
@Override
public void partOpened(IWorkbenchPart part) {
}
@Override
public void partDeactivated(IWorkbenchPart part) {
}
@Override
public void partClosed(IWorkbenchPart part) {
}
@Override
public void partBroughtToTop(IWorkbenchPart part) {
}
@Override
public void partActivated(IWorkbenchPart part) {
// Add view initialization from the new part
}
});
分支。警告:这意味着您将丢失所选提交后所做的任何更改。您的分支将重置为此提交。
答案 1 :(得分:0)
您可以在要删除的提交下方的提交上使用“以交互方式重新设定 [commit hash] 的子项”。
然后使用“删除所选”。
注意,这会重写提交日期,您可以使用 git rebase --committer-date-is-author-date [commit hash]
从命令行修复该日期。
变基后,您需要git push --force
。
答案 2 :(得分:-2)
使用以下命令
git reset --hard commit_id