执行git rebase -i执行任何类型的合并吗?

时间:2016-12-20 19:21:05

标签: git

如果我git rebase -i HEAD~n,那只是压缩还是会进行任何合并/变基?我的印象是我之后不需要做git pull --rebase这样的事情,因为那是多余的。

2 个答案:

答案 0 :(得分:0)

git pull --rebase执行git fetch + git rebase。如果您直接运行git rebase,则不会执行git fetch步骤。

因此,如果您希望更新到被跟踪分支的最新HEAD,则应该git fetch + git rebase -i。使用git rebase -i HEAD~n重写您分支上的最后n次提交。被跟踪的分支根本没有参与。

答案 1 :(得分:0)

#!/bin/bash echo "What is the name of the user?: " read response checkuser1="$(getent passwd | cut -d: -f1 | grep -si "$response")" if [ -z "$checkuser1" ]; then echo "No user with this name has been located!"; exit; fi if [ ! -d /home/"$response"/backup/ ]; then echo "This user has not created the /home/"$response"/backup/ folder yet!"; exit; fi cp /home/"$response"/file.txt /home/"$response"/backup/file_backup.txt exit 是否压缩提交取决于你告诉Git要做什么。该命令打开您的默认编辑器,其中包含您指定的提交列表(if (this.state.active !== '' && !event.target.className.includes('USERBAR_notifications') && !event.target.className.includes('USERBAR_user') && (!event.target.parentElement || (!event.target.parentElement.className.includes('USERBAR_notifications') && !event.target.parentElement.className.includes('USERBAR_user')))) {this.setState({ active: ''});} 的孩子最多git rebase -i HEAD~n),您必须告诉Git如何处理每个提交。默认操作是选择它,因此除了重新应用它之外什么都不做。因此,如果您不更改默认值中的任何内容,则实际上您不会更改任何内容,除非您的提交列表中有合并。默认情况下会忽略合并,因此该命令将删除合并并使历史变为线性。但是如果你知道自己在做什么,你也可以告诉Git不要忽略合并。

相关问题