我有一个包含单个(master
)分支的存储库:
a > b > e > f > g > c > d
事实证明,我需要更早发生c
和d
(到目前为止的历史末尾的两次提交)中的更改,以便我能够:
a > b > c > d > e > f > g
一切都被推了。我知道我不应该推迟提交,所以我该怎么办?
答案 0 :(得分:5)
这是一个快速而肮脏的解决方案,不会改变历史记录:
git revert
删除分支中的每个提交。git cherry-pick
按照您想要的顺序重新提交提交。推送这些更改。这使您可以在不更改历史记录的情况下更改提交的顺序。
答案 1 :(得分:4)
如果没有print df
Screen
0 Screen A
1 Screen A
2 Screen B
3 Screen C
4 Screen D
5 Screen D
6 Screen E
#convert each last letter from column screen to number
# https://stackoverflow.com/a/4528997/2901002
df['Screen Order'] = df['Screen'].apply(lambda x: ord(x[-1].lower()) - 96)
#reordering columns
df = df[['Screen Order', 'Screen' ]]
print df
Screen Order Screen
0 1 Screen A
1 1 Screen A
2 2 Screen B
3 3 Screen C
4 4 Screen D
5 4 Screen D
6 5 Screen E
,您无法重新排序推送的提交。如果您和其他人之间共享此存储库,那么您不应该做任何事情。如果这是您自己的仓库或它在您自己的分支上,请使用git push -f
,然后根据需要重新排序提交,然后git rebase -i <hash of a>
。