Tag: rebase

Git交互式rebase没有承诺挑选

我在主人,我做了rebase -i <my_branch> 收到: noop # Rebase c947bec..7e259d3 onto c947bec # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = […]

Git提交在重新绑定之后被复制到同一分支中

我了解Pro Git中提供的有关git rebase风险的场景。 作者基本上告诉你如何避免重复的提交: 不要重新提交已经推送到公共存储库的提交。 我将告诉你我的具体情况,因为我认为它不完全适合Pro Git场景,而且我还是会重复提交。 比方说,我有两个与本地同行的远程分支机构: origin/master origin/dev | | master dev 所有四个分支都包含相同的提交,我将在dev开始开发: origin/master : C1 C2 C3 C4 master : C1 C2 C3 C4 origin/dev : C1 C2 C3 C4 dev : C1 C2 C3 C4 在几次提交之后,我将更改推送到origin/dev : origin/master : C1 C2 C3 C4 master : C1 C2 C3 C4 origin/dev : […]

git rebase一个提交

有没有一种方法来重新分配一个单一的提交到另一个分支? 所以我有 — — — — — (Master) \ — — — — — XX (Feature-branch) 我所要做的就是将Feature-branch的最后一次提交重新分配到主机和回滚特性分支一次提交。 — — — — — XX (Master) \ — — — — — (Feature-branch) 我怎么做?

git rebase和git push:非快进,为什么用?

我有一个分支机构应该可以提供给其他贡献者,并应该不断跟上主人。 不幸的是,每次我做'git rebase'然后尝试推,它导致'非快速前进'的消息和堕胎推。 唯一的办法就是使用–force。 这是否意味着我应该使用“混帐合并”而不是重新分配,如果我的分支上市,其他人正在努力呢?

rebase之后不能推到分支

我们使用git并拥有一个主分支和开发者分支。 我需要添加一个新function,然后重新提交到主,然后将主服务器推到CI服务器。 问题是,如果我在rebase期间发生冲突,在rebase完成后,我无法推送到我的远程开发者分支(在Github上),直到我拉到远程分支。 这会导致重复的提交。 没有冲突时,按预期工作。 问题:rebase和冲突解决之后,如何在不创build重复提交的情况下同步本地和远程开发者分支 build立: // master branch is the main branch git checkout master git checkout -b myNewFeature // I will work on this at work and at home git push origin myNewFeature // work work work on myNewFeature // master branch has been updated and will conflict with myNewFeature git pull […]

如果有人推迟重置或重置到发布的分支后,如何恢复/重新同步?

我们都听说过,不应该把已发表的作品重新发布,这是危险的。但是,我还没有看到任何关于如何处理这种情况的食谱,以防出版物发行。 现在请注意,如果知识库仅由一个已知​​的(最好是小的)人群克隆,那么推动重新署名或重置的人可以通知其他人下一次他们需要关注取(!)。 我看到的一个明显的解决scheme将工作,如果你有没有本地提交foo ,它得到重定位: git fetch git checkout foo git reset –hard origin/foo 这将简单地抛弃foo的本地状态以支持其远程存储库的历史logging。 但是如果一个人在这个分支上进行了实质性的地方性改变,那么我们如何处理呢?

Git:如何redirect到特定的提交?

我想重定义一个具体的提交,而不是另一个分支的头: A — B — C master \ \– D topic 至 A — B — C master \ \– D topic 代替 A — B — C master \ \– D topic 我怎样才能做到这一点?

在Git上更改旧的提交消息

我试图编辑一个旧的提交消息, 这里解释。 现在的事情是,当我尝试运行rebase -i HEAD~5 ,说interactive rebase already started 。 那么我试试: git rebase –continue但是得到这个错误: error: Ref refs/heads/master is at 7c1645b447a8ea86ee143dd08400710c419b945b but expected c7577b53d05c91026b9906b6d29c1cf44117d6ba fatal: Cannot lock the ref 'refs/heads/master'. 有任何想法吗?

你如何重新分配当前分支的变化,在合并的变化之上?

好的。 如果我在一个分支上(比如working ),而且我想合并来自另一个分支(比如master )的更改,那么我在working分支上运行命令git-merge master ,并且在没有合并的情况下根本不重视历史。 如果我运行git-rebase master ,那么master中的变更将被重新设置为放在我的working分支的顶部。 但是,如果我想合并来自master的变更,但是将我的变更重新设置为最高? 我怎么做? 可以这样做吗? 我可以在master分支上运行git-rebase working来将我的更改放在master分支上,但是我希望能够在我的working分支中做到这一点,而我不知道如何实现。 我能想到的最接近的是从master创build一个新的分支,然后重新working的变化,然后我会有一个新的分支,而不是改变working分支。

重新激活和通过重新分配推动提交是什么意思

人们经常说,你不应该改变你已经推动的提交。 这可能是什么意思?