草庐IT

rebase-apply

全部标签

git rebase 丢失历史,那为什么要 rebase?

在过去的几天里,我一直在研究使用Git进行rebase。大多数支持rebase的论点都说它清理了历史并使其更加线性。如果你进行普通merge(例如),你会得到一个历史记录,显示历史记录何时分开以及何时重新组合在一起。据我所知,rebase删除了所有这些历史记录。问题是:您为什么不希望repo历史反射(reflect)代码开发的所有方式,包括它在哪里以及如何发散? 最佳答案 假设您正在从事一项统治世界的secret项目。这场阴谋的主谋一共有三位:天才将军电脑黑客他们都同意在1周内来到他们的secret基地,每个人都有1个详细计划。计算

git rebase "deleted by us"和 "deleted by them"

这个问题在这里已经有了答案:Whois"us"andwhois"them"accordingtoGit?(2个答案)关闭4年前。假设我正在对ma​​ster上的experiment分支进行rebase,并且文件中存在冲突。当然,两个分支中都有文件被删除。因此,当我解决冲突时,在gitstatus中,我看到deletedbyus和deletedbythem。它非常困惑。有什么办法可以理解它们的意思吗?他们是谁,我们是谁?或者在rebase时是否有另一种方法可以知道哪个文件被哪个分支删除了?比如打印分支名称?

git rebase "deleted by us"和 "deleted by them"

这个问题在这里已经有了答案:Whois"us"andwhois"them"accordingtoGit?(2个答案)关闭4年前。假设我正在对ma​​ster上的experiment分支进行rebase,并且文件中存在冲突。当然,两个分支中都有文件被删除。因此,当我解决冲突时,在gitstatus中,我看到deletedbyus和deletedbythem。它非常困惑。有什么办法可以理解它们的意思吗?他们是谁,我们是谁?或者在rebase时是否有另一种方法可以知道哪个文件被哪个分支删除了?比如打印分支名称?

git - 使用 git rebase 编辑 merge 提交

在Git中,当我提交时,例如。A-B-C我想编辑Bpromise,我使用gitrebase-i,在我写的列表中editB前面的命令promise,gitrebase在B后立即停止commit这样我就可以使用gitcommit--amend修复我想要的任何东西,然后我继续使用gitrebase--continue.据我所知,这是执行此操作的最佳实践。使用这种方法,我可以编辑过去的任何提交(只要它还没有被推送到远程分支),而且-p标记我什至可以保留merge。这太棒了。我目前的问题是:我在merge提交中的一行上犯了一个错误(拼写错误)(在merge两个分支时解决冲突)。我想修复它,但我不

git - 使用 git rebase 编辑 merge 提交

在Git中,当我提交时,例如。A-B-C我想编辑Bpromise,我使用gitrebase-i,在我写的列表中editB前面的命令promise,gitrebase在B后立即停止commit这样我就可以使用gitcommit--amend修复我想要的任何东西,然后我继续使用gitrebase--continue.据我所知,这是执行此操作的最佳实践。使用这种方法,我可以编辑过去的任何提交(只要它还没有被推送到远程分支),而且-p标记我什至可以保留merge。这太棒了。我目前的问题是:我在merge提交中的一行上犯了一个错误(拼写错误)(在merge两个分支时解决冲突)。我想修复它,但我不

git - "git reset"和 "git rebase"有什么区别?

我一直在玩弄git(仍然很菜鸟),我想知道“reset”和“rebase”之间的区别。一个比另一个更强大吗?假设我想从历史中删除3个粗体提交,使用哪个更好,或者我应该标记它然后用gittag-d删除它?17a64df2012-06-21|Hellousesstyle.css(HEAD,origin/style,master),a6792e42012-06-21|Addedcssstylesheet801e13e2012-06-21|AddedREADME58543392012-06-21|Addedindex.html0b1dd4c2012-06-21|Movedhello.htmlt

git - "git reset"和 "git rebase"有什么区别?

我一直在玩弄git(仍然很菜鸟),我想知道“reset”和“rebase”之间的区别。一个比另一个更强大吗?假设我想从历史中删除3个粗体提交,使用哪个更好,或者我应该标记它然后用gittag-d删除它?17a64df2012-06-21|Hellousesstyle.css(HEAD,origin/style,master),a6792e42012-06-21|Addedcssstylesheet801e13e2012-06-21|AddedREADME58543392012-06-21|Addedindex.html0b1dd4c2012-06-21|Movedhello.htmlt

删除/修改冲突后 Git rebase 不会继续

我正在将我的masterrebase到stage分支gitcheckoutstagegitrebasemaster有一次我删除了两个文件,然后根据GIT修改了这两个文件。warning:toomanyfiles,skippinginexactrenamedetectionCONFLICT(delete/modify):test-recommendation-result.phpdeletedinHEADandmodifiedin[Bug]Fixtestrecommender.Version[Bug]Fixtestrecommenderoftest-recommendation-resu

删除/修改冲突后 Git rebase 不会继续

我正在将我的masterrebase到stage分支gitcheckoutstagegitrebasemaster有一次我删除了两个文件,然后根据GIT修改了这两个文件。warning:toomanyfiles,skippinginexactrenamedetectionCONFLICT(delete/modify):test-recommendation-result.phpdeletedinHEADandmodifiedin[Bug]Fixtestrecommender.Version[Bug]Fixtestrecommenderoftest-recommendation-resu

Git Rebase 冲突 : Who is HEAD?

我有这个项目,其中远程仓库有主要的开发分支,我有一个包含实验分支的分支。我需要rebase在我推送到我的分支之前,从开发分支更改为我的实验分支。所以它是这样的:gitcheckoutexperimentalbranchgitfetchremoterepogitrebaseremoterepo/developmentbranch这时,我遇到了冲突。但是,我对这些更改中的任何一个都不熟悉(我正在重新调整数周的更改,因为它们没有立即merge我的更改)。另外,这是我第一次做rebase.我比较习惯merge.在融合中,它通常是这样的>为merge,这听起来很直观。但在rebase,它是>.谁