草庐IT

rebase-merge

全部标签

git rebase 致命 : Needed a single revision

我有一个公共(public)存储库的分支,我正在尝试使用原始存储库中的当前提交更新我的分支:$gitfetchremote:Countingobjects:24,done.remote:Compressingobjects:100%(20/20),done.remote:Total20(delta12),reused0(delta0)Unpackingobjects:100%(20/20),done.Fromgit://github.com/path_to/repo9b70165..22127d0master->$/master$gitrebasefatal:Neededasingle

git rebase 致命 : Needed a single revision

我有一个公共(public)存储库的分支,我正在尝试使用原始存储库中的当前提交更新我的分支:$gitfetchremote:Countingobjects:24,done.remote:Compressingobjects:100%(20/20),done.remote:Total20(delta12),reused0(delta0)Unpackingobjects:100%(20/20),done.Fromgit://github.com/path_to/repo9b70165..22127d0master->$/master$gitrebasefatal:Neededasingle

git rebase,跟踪 'local' 和 'remote'

在执行gitrebase时,在解决冲突时,我经常难以弄清楚“本地”和“远程”发生了什么。有时我的印象是他们从一个提交到下一个提交交换了立场。这可能(肯定)是因为我还没有正确理解。rebase时,谁是“本地”,谁是“远程”?(我使用P4Merge来解决冲突) 最佳答案 TL;DR;总结(如Benubirdcomments),当:gitcheckoutAgitrebaseB#rebaseAontopofBlocal是B(rebase到),remote是A和:gitcheckoutAgitmergeB#mergeBintoAlocal是A

git rebase,跟踪 'local' 和 'remote'

在执行gitrebase时,在解决冲突时,我经常难以弄清楚“本地”和“远程”发生了什么。有时我的印象是他们从一个提交到下一个提交交换了立场。这可能(肯定)是因为我还没有正确理解。rebase时,谁是“本地”,谁是“远程”?(我使用P4Merge来解决冲突) 最佳答案 TL;DR;总结(如Benubirdcomments),当:gitcheckoutAgitrebaseB#rebaseAontopofBlocal是B(rebase到),remote是A和:gitcheckoutAgitmergeB#mergeBintoAlocal是A

git - 有 git-merge --dry-run 选项吗?

我正在merge一个可能有很多冲突的远程分支。我怎么知道它是否会发生冲突?我在git-merge上没有看到类似--dry-run的东西。 最佳答案 如前所述,传入--no-commit标志,但为了避免快进提交,还传入--no-ff,例如所以:$gitmerge--no-commit--no-ff$BRANCH检查分阶段更改:$gitdiff--cached而且您可以撤消merge,即使它是快进merge:$gitmerge--abort 关于git-有git-merge--dry-run

git - 有 git-merge --dry-run 选项吗?

我正在merge一个可能有很多冲突的远程分支。我怎么知道它是否会发生冲突?我在git-merge上没有看到类似--dry-run的东西。 最佳答案 如前所述,传入--no-commit标志,但为了避免快进提交,还传入--no-ff,例如所以:$gitmerge--no-commit--no-ff$BRANCH检查分阶段更改:$gitdiff--cached而且您可以撤消merge,即使它是快进merge:$gitmerge--abort 关于git-有git-merge--dry-run

git - 如何使用 Git 和命令行在 merge 期间保留本地文件或远程文件?

我知道如何使用vimdiffmerge修改,但是,假设我只知道整个文件可以保留或丢弃,我该怎么做?我不想为它们中的每一个都打开vimdiff,我想要一个显示“保持本地”或“保持远程”的命令。EG:我merge了标记为已更改的文件,因为有人在Windows下打开它,更改了EOL,然后提交。merge时,我只想保留我自己的版本并丢弃他的。相反,我也很感兴趣:我搞砸了很多时间,想接受远程文件,放弃我的更改。 最佳答案 你也可以这样做:gitcheckout--theirs/path/to/file保留远程文件,并且:gitcheckout

git - 如何使用 Git 和命令行在 merge 期间保留本地文件或远程文件?

我知道如何使用vimdiffmerge修改,但是,假设我只知道整个文件可以保留或丢弃,我该怎么做?我不想为它们中的每一个都打开vimdiff,我想要一个显示“保持本地”或“保持远程”的命令。EG:我merge了标记为已更改的文件,因为有人在Windows下打开它,更改了EOL,然后提交。merge时,我只想保留我自己的版本并丢弃他的。相反,我也很感兴趣:我搞砸了很多时间,想接受远程文件,放弃我的更改。 最佳答案 你也可以这样做:gitcheckout--theirs/path/to/file保留远程文件,并且:gitcheckout

git - 即使每个更改的文件都与其中一个父文件一致,如何 "git show"具有组合差异输出的 merge 提交?

在进行“简单”merge(没有冲突)之后,gitshow通常只显示类似的内容commit0e1329e551a5700614a2a34d8101e92fd9f2cad6(HEAD,master)Merge:fc17405ee2de56Author:TilmanVogelDate:TueFeb2200:27:172011+0100Mergebranch'testing'intomaster这是因为,对于merge,gitshow使用merge的diff格式,它省略了与任一父版本一致的文件。有没有办法强制git在组合差异模式下仍然显示所有差异?执行gitshow-m将显示差异(分别使用新版

git - 即使每个更改的文件都与其中一个父文件一致,如何 "git show"具有组合差异输出的 merge 提交?

在进行“简单”merge(没有冲突)之后,gitshow通常只显示类似的内容commit0e1329e551a5700614a2a34d8101e92fd9f2cad6(HEAD,master)Merge:fc17405ee2de56Author:TilmanVogelDate:TueFeb2200:27:172011+0100Mergebranch'testing'intomaster这是因为,对于merge,gitshow使用merge的diff格式,它省略了与任一父版本一致的文件。有没有办法强制git在组合差异模式下仍然显示所有差异?执行gitshow-m将显示差异(分别使用新版