Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 挤压或删除过去的合并提交_Git_Merge_Squash - Fatal编程技术网

Git 挤压或删除过去的合并提交

Git 挤压或删除过去的合并提交,git,merge,squash,Git,Merge,Squash,我目前正在与一组其他人一起完成一个uni任务的项目。我们都必须使用Git(这是我的荣幸),而且我们已经设置好了Git,这样就没有人承诺要使用Git,一切都完成了 我们也在利用这些资源来协调发展 我作为主要的维护者,我陷入了一个与提交日志状态有关的问题(尽管是一个小问题) 我合并来自其他人的请求,出于某种原因(在某些睡眠不足的状态下),我通过merge--no ff自动检查问题跟踪程序中的问题,这是一种非常好的方式。我现在已经清醒过来了,我意识到这让我读起来很恐怖。以下为参考(通过git log-

我目前正在与一组其他人一起完成一个uni任务的项目。我们都必须使用Git(这是我的荣幸),而且我们已经设置好了Git,这样就没有人承诺要使用Git,一切都完成了

我们也在利用这些资源来协调发展

我作为主要的维护者,我陷入了一个与提交日志状态有关的问题(尽管是一个小问题)

我合并来自其他人的请求,出于某种原因(在某些睡眠不足的状态下),我通过
merge--no ff
自动检查问题跟踪程序中的问题,这是一种非常好的方式。我现在已经清醒过来了,我意识到这让我读起来很恐怖。以下为参考(通过git log--oneline--graph打印):

这显然很难看,我想做两件事中的一件:

  • 挤压合并提交,提交存在没关系,我只是想移动它,使合并变得平坦;或者,或者

  • 完全删除提交并设置日志,使两个合并看起来都只是
    merge--ff
    (如果可能,这是首选操作)

这项工作已被推到主回购中,这一事实不值得关注。我的小组成员对Git来说相对较新,并且不经常提交。这些工作都不会丢失,我很高兴通过一个
push-f
在GitHub上与他们交谈

我只想删除将远程跟踪分支合并到本地分支的提交(例如,将“MiniAl/development”合并到“development”中,而不是将“release/0.1.1-alpha”合并到“development”中)。有可能解决这个问题吗

当前解决方案的尝试
  • 我曾试图发明某种形式的时间机器,防止我过去的自己犯下如此令人发指的罪行(我的物理学朋友告诉我,这还不可能)

  • 我试着运行了
    git-rebase-I-p
    ,因为其他人似乎已经成功地实现了这一点,但说到压缩合并,git只是拒绝了,也不会告诉我原因。它只是说它不会这么做

  • 我尝试了
    git-rebase-I
    ,但是在“MiniAl/development”或“georgedee/development”上所做的工作丢失了

删除提交可能是可能的,但如果是这样,则会非常混乱,需要一些非常核心的git操作,可能包括手动编辑一些索引文件。我认为您最好的选择是像您所说的那样压缩提交,但我甚至不确定这是否能干净地工作


关键是,从现在起,拉车时要使用“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