相关疑难解决方法(0)

如何"取消恢复"恢复的Git提交?

鉴于已经提交的更改已经使用commit,然后还原使用revert,那么撤消该恢复的最佳方法是什么?

理想情况下,这应该使用新的提交来完成,以便不重写历史记录.

git undo revert

421
推荐指数
7
解决办法
24万
查看次数

Git cherry-pick语法和合并分支

所以我以前做了无数的樱桃选择,似乎我现在必须在生活中失败,我想尝试从一个分支到另一个分支,这应该是容易的,我怎么会得到一个关于它是合并的错误但是不是给了-m?

$ git cherry-pick a8c5ad438f6173dc34f6ec45bddcef2ab23285e0
error: Commit a8c5ad438f6173dc34f6ec45bddcef2ab23285e0 is a merge but no -m option was given.
fatal: cherry-pick failed
Run Code Online (Sandbox Code Playgroud)

那看起来不对.......它应该是:

$ git cherry-pick a8c5ad438f6173dc34f6ec45bddcef2ab23285e0
Run Code Online (Sandbox Code Playgroud)

从什么时候开始我必须提供-m功能?

git cherry-pick git-cherry-pick

57
推荐指数
3
解决办法
5万
查看次数

樱桃采摘合并提交时的主线父母号码

假设这是我的git历史

  Z
 /
A -- C -- D
 \  /      
  B

我的HEAD目前在Z.我想樱桃挑选BC.如果我的理解是正确的,我应该这样做:

git cherry-pick B
git cherry-pick C -m 1
git commit --allow-empty
Run Code Online (Sandbox Code Playgroud)

它在我的情况下工作,因为C是一个无操作(因此之后的空提交,我需要提交其他原因),但我想知道后面的参数是什么-m.以下是我从文档中读到的内容:

-m父号

- 主线父母号码

通常你不能挑选合并因为你不知道合并的哪一边应该被认为是主线.此选项指定主线的父编号(从1开始),并允许cherry-pick重放相对于指定父级的更改.

在我的情况下,C有两个父母,但我怎么知道哪一个是1和2,更重要的是当我选择1或2时什么时候重要?

git cherry-pick git-cherry-pick

22
推荐指数
1
解决办法
2万
查看次数

Cherry pick显示没有-m选项被给出错误

我有两个分支大师和开发

我需要从master分支中的开发分支获取一些提交ID,所以我通过cherry-pick来实现它,但它显示了一些错误

$> git cherry-pick cf0d52b

error: Commit cf0d52b900f990300c3aa17936ddbae1476d461a is a merge but no -m option was given.
fatal: cherry-pick failed
Run Code Online (Sandbox Code Playgroud)

我没有收到这个错误,为什么会出现这个错误,我将如何摆脱这个错误.

git cherry-pick

15
推荐指数
2
解决办法
1万
查看次数

什么是存储后出现的"WIP"和"索引"提交?

当我git lg在本地开发分支上运行时,最新的提交如下所示:

* 7d21213 - (1 hours ago) update business rules - developer1 (HEAD, origin/develop, origin/HEAD, develop)
Run Code Online (Sandbox Code Playgroud)

但是,如果我通过运行git stash然后运行来存储本地更改git lg,我会得到以下内容:

*  at12334 - (13 seconds ago) WIP on develop: 7d21213 update business rules - developer1 (refs/stash)
|\
| * ef9a11b - (14 seconds ago) index on develop: 7d21213 update business rules - developer1
|/
* 7d21213 - (1 hours ago) update business rules - developer1 (HEAD, origin/develop, origin/HEAD, develop)
Run Code Online (Sandbox Code Playgroud)

这是什么意思?看来,两个新的提交(标记indexWIP)的积攒后创建.是这样的,如果是这样,这些提交背后的逻辑是什么? …

git git-stash git-log

13
推荐指数
2
解决办法
4270
查看次数

错误:提交是一个合并,但没有给出 -m 选项

当我执行 git cherry-pick 时,出现此错误,我该如何解决?

$ git cherry-pick  XXXXXXXXXXXXX                                                                                                                                          
error: commit XXXXXXXXXXXXX is a merge but no -m option was given.
fatal: cherry-pick failed
$ git cherry-pick
    -m, --mainline <n>    parent number
$ git cherry-pick -m 1234 XXXXXXXXXXXXX
$ error: commit XXXXXXXXXXXXX does not have parent 1234
fatal: cherry-pick failed
Run Code Online (Sandbox Code Playgroud)

git

10
推荐指数
2
解决办法
1万
查看次数

将合并提交重写为squash合并提交

我合并了一个长期存在的分支,由于冲突的解决,我花了很多时间来完成合并.

我发现我无法发布我的工作git-svn:git svn rebase将重新绑定合并分支的所有提交,而不是提交一个单独的合并提交.我发现git merge --squash有点太晚了......

是否有可能将合并提交(rebase interractive?)更改为"squash merge"提交而不会丢失已经完成的所有冲突解决工作(即没有触发新的合并,因为我没有启用该rerere工具)?

git merge git-svn squash

7
推荐指数
2
解决办法
6612
查看次数

git cherry选择了一系列后续提交,包括合并

我可以挑选一系列后续提交.

例如

在分支大师,我想挑选从d4fd8cad到HEAD的变化

git cherry-pick d4fd8cad..develop

有一个错误

错误:提交885c9e07264ac6b5d3960 ...是合并但没有给出-m选项.

致命的:樱桃挑选失败了

我该如何使用-m选项?

git

5
推荐指数
1
解决办法
1376
查看次数