IntelliJ Git重基错误
我有以下情况:IntelliJ Git重基错误,git,intellij-idea,Git,Intellij Idea,我有以下情况: 分支主机 主题分支x关闭master 我已经向master提交了一份承诺,我希望在x中也可以使用此承诺。据我所知,我必须在master上重新设置x的基础 我就是这么做的: 签出x分支机构:VCS->Git->branchs->Local branchs->x->Checkout 转到VCS->Git->Rebase->选择主控进入 单击“重设基础” 此时出现了一个错误,告诉我检查VC控制台以了解详细信息。这是控制台显示的内容: 23:59:22.839: git rebase -
主机
李>
x
关闭master
李>
master
提交了一份承诺,我希望在x
中也可以使用此承诺。据我所知,我必须在master
上重新设置x
的基础x
分支机构:VCS->Git->branchs->Local branchs->x->Checkout
李>
VCS->Git->Rebase->选择主控进入
23:59:22.839: git rebase -i -v -m refs/heads/master
Cannot rebase: You have unstaged changes.
Additionally, your index contains uncommitted changes.
Please commit or stash them.
在任何地方的任何分支中都没有挂起的更改。所有内容都已提交(如果有任何区别,则推送到Bitbucket)。我这样做对吗?如何在
master
上重新设置分支的基础?发生错误的原因是您有未保存的更改,将其隐藏或提交将允许您执行rebase命令
但是,我认为你在这里做的是完全错误的。
首先,您不应该在主分支上进行提交,您应该在主题分支上进行提交,并将其与主分支合并/重新设置基础
第二,根据你们想做的,这是在x上对母版进行重定基调,而不是在母版上对x进行重定基调
所以你应该
1, checkout master --> git checkout master
2, rebase on x --> git rebase x
3, do some merge job
4, continue the rebase --> git rebase --continue
顺便说一句,你应该阅读,它是免费的,是一本非常好的书
编辑:
在阅读了你发布的url后,我想我在这里有一些误解
假设你有这个:
$ git log --oneline --graph --decorate --all
* c85d8bd (HEAD, master) dev on master again
| * 431a9c6 (topic) dev on topic
|/
* 4ad2cc4 dev on master
* d576e88 init
在这里,我们将尝试两个rebase命令:
1,在主题上重新设置master的基础
git checkout master
git rebase topic
这将使历史看起来像这样:
$ git log --oneline --graph --decorate --all
* 03021da (HEAD, master) dev on master again
* 431a9c6 (topic) dev on topic
* 4ad2cc4 dev on master
* d576e88 init
2,在主控台上重新设置主题的基础
git checkout topic
git rebase master
您的历史将类似于:
$ git log --oneline --graph --decorate --all
* adc93f1 (HEAD, topic) dev on topic
* c85d8bd (master) dev on master again
* 4ad2cc4 dev on master
* d576e88 init
这都是关于你想要谁在谁身上:)
我以这种方式记住了这一点:
merge with <branch>
rebase on <branch>
您可以在的第3.6章中找到这些详细信息。发生错误的原因是您有未保存的更改,将其隐藏或提交将允许您执行rebase命令 但是,我认为你在这里做的是完全错误的。 首先,您不应该在主分支上进行提交,您应该在主题分支上进行提交,并将其与主分支合并/重新设置基础 第二,根据你们想做的,这是在x上对母版进行重定基调,而不是在母版上对x进行重定基调 所以你应该
1, checkout master --> git checkout master
2, rebase on x --> git rebase x
3, do some merge job
4, continue the rebase --> git rebase --continue
顺便说一句,你应该阅读,它是免费的,是一本非常好的书
编辑:
在阅读了你发布的url后,我想我在这里有一些误解
假设你有这个:
$ git log --oneline --graph --decorate --all
* c85d8bd (HEAD, master) dev on master again
| * 431a9c6 (topic) dev on topic
|/
* 4ad2cc4 dev on master
* d576e88 init
在这里,我们将尝试两个rebase命令:
1,在主题上重新设置master的基础
git checkout master
git rebase topic
这将使历史看起来像这样:
$ git log --oneline --graph --decorate --all
* 03021da (HEAD, master) dev on master again
* 431a9c6 (topic) dev on topic
* 4ad2cc4 dev on master
* d576e88 init
2,在主控台上重新设置主题的基础
git checkout topic
git rebase master
您的历史将类似于:
$ git log --oneline --graph --decorate --all
* adc93f1 (HEAD, topic) dev on topic
* c85d8bd (master) dev on master again
* 4ad2cc4 dev on master
* d576e88 init
这都是关于你想要谁在谁身上:)
我以这种方式记住了这一点:
merge with <branch>
rebase on <branch>
您可以在的第3.6章中找到这些详细信息,但我没有任何未老化的更改。每个分支的更改列表都为空。你确定你的步骤能满足我的要求吗?我想知道这里描述的内容:-它说在那里使用
git-rebase-master
。知道我为什么会在没有变化的情况下显示错误吗?谢谢,但我知道这些。我仍然会在没有可提交内容的情况下收到该错误,知道原因吗?如果您确定没有未提交的更改,也许您可以尝试使用git reset--hard HEAD
命令。我想我不确定。IDE中没有显示任何文件,但在命令行中运行git status
时,显然有一些已删除的文件。我想不要太依赖IDE,是吗?该命令修复了它,我能够重新设置基址,谢谢你的帮助。但我没有任何未老化的更改。每个分支的更改列表都为空。你确定你的步骤能满足我的要求吗?我想知道这里描述的内容:-它说在那里使用git-rebase-master
。知道我为什么会在没有变化的情况下显示错误吗?谢谢,但我知道这些。我仍然会在没有可提交内容的情况下收到该错误,知道原因吗?如果您确定没有未提交的更改,也许您可以尝试使用git reset--hard HEAD
命令。我想我不确定。IDE中没有显示任何文件,但在命令行中运行git status
时,显然有一些已删除的文件。我想不要太依赖IDE,是吗?那个命令修复了它,我能够重新设置基址,谢谢你的帮助。