Git 挤压或删除过去的合并提交
我目前正在与一组其他人一起完成一个uni任务的项目。我们都必须使用Git(这是我的荣幸),而且我们已经设置好了Git,这样就没有人承诺要使用Git,一切都完成了 我们也在利用这些资源来协调发展 我作为主要的维护者,我陷入了一个与提交日志状态有关的问题(尽管是一个小问题) 我合并来自其他人的请求,出于某种原因(在某些睡眠不足的状态下),我通过Git 挤压或删除过去的合并提交,git,merge,squash,Git,Merge,Squash,我目前正在与一组其他人一起完成一个uni任务的项目。我们都必须使用Git(这是我的荣幸),而且我们已经设置好了Git,这样就没有人承诺要使用Git,一切都完成了 我们也在利用这些资源来协调发展 我作为主要的维护者,我陷入了一个与提交日志状态有关的问题(尽管是一个小问题) 我合并来自其他人的请求,出于某种原因(在某些睡眠不足的状态下),我通过merge--no ff自动检查问题跟踪程序中的问题,这是一种非常好的方式。我现在已经清醒过来了,我意识到这让我读起来很恐怖。以下为参考(通过git log-
merge--no ff
自动检查问题跟踪程序中的问题,这是一种非常好的方式。我现在已经清醒过来了,我意识到这让我读起来很恐怖。以下为参考(通过git log--oneline--graph打印):
这显然很难看,我想做两件事中的一件:
- 挤压合并提交,提交存在没关系,我只是想移动它,使合并变得平坦;或者,或者
- 完全删除提交并设置日志,使两个合并看起来都只是
(如果可能,这是首选操作)merge--ff
push-f
在GitHub上与他们交谈
我只想删除将远程跟踪分支合并到本地分支的提交(例如,将“MiniAl/development”合并到“development”中,而不是将“release/0.1.1-alpha”合并到“development”中)。有可能解决这个问题吗
当前解决方案的尝试
- 我曾试图发明某种形式的时间机器,防止我过去的自己犯下如此令人发指的罪行(我的物理学朋友告诉我,这还不可能)
- 我试着运行了
,因为其他人似乎已经成功地实现了这一点,但说到压缩合并,git只是拒绝了,也不会告诉我原因。它只是说它不会这么做git-rebase-I-p
- 我尝试了
,但是在“MiniAl/development”或“georgedee/development”上所做的工作丢失了git-rebase-I
关键是,从现在起,拉车时要使用“rebase”,这样才能获得足够的睡眠 我曾试图挤压,但吉特拒绝了,我不完全明白为什么。我的谷歌搜索并没有消除我的困惑。
* 910f7ce Create '.travis.yml'
* 52eeef7 Merge branch 'release/0.1.1-alpha' into 'development'
|\
| * 9c9bd36 Merge remote-tracking branch 'MiniAl/release/0.1.1-alpha' into 'release/0.1.1-alpha'
| |\
|/ /
| * baeb154 Introduce, or edit, the `author` tag for classes
| * ebf4b91 Set the version for classes missing the tag
| * 90b985c Add the `since` tag to members missing it
|/
* 21f7a10 Create an Eclipse project file for Sapphire
* 7a075c3 Merge remote-tracking branch 'georgedee/development' into 'development'
|\
| * b48077f Include JavaDoc for the Android implementation
* | 99950d1 Merge remote-tracking branch 'MiniAl/development' into 'development'
|\ \
| |/
|/|
| * 1a8df92 Document the entire framework supplied by SAAF
|/
* b40e845 Initial commit