相关疑难解决方法(0)

重新绑定Git合并提交

采取以下案例:

我在主题分支中有一些工作,现在我已准备好合并回主人:

* eb3b733 3     [master] [origin/master]
| * b62cae6 2   [topic]
|/  
* 38abeae 1
Run Code Online (Sandbox Code Playgroud)

我从master执行合并,解决冲突,现在我有:

*   8101fe3 Merge branch 'topic'  [master]
|\  
| * b62cae6 2                     [topic]
* | eb3b733 3                     [origin/master]
|/  
* 38abeae 1
Run Code Online (Sandbox Code Playgroud)

现在,合并花了我一些时间,所以我再做一次提取并注意到远程主分支有新的变化:

*   8101fe3 Merge branch 'topic'  [master]
|\  
| * b62cae6 2                     [topic]
| | * e7affba 4                   [origin/master]
| |/  
|/|   
* | eb3b733 3
|/  
* 38abeae 1
Run Code Online (Sandbox Code Playgroud)

如果我从master中尝试'git rebase origin/master',我将被迫再次解决所有冲突,并且我也失去了合并提交:

* d4de423 2       [master]
* e7affba 4       [origin/master]
* …
Run Code Online (Sandbox Code Playgroud)

git merge rebase git-rebase git-rewrite-history

163
推荐指数
3
解决办法
8万
查看次数

如何从1个分支到另一个分支

我有2个分支,master和dev.

我在dev分公司,我想摘樱桃1从承诺master到dev.所以我做了

$ git cherry-pick be530cec7748e037c665bd5a585e6d9ce11bc8ad
Finished one cherry-pick.
Run Code Online (Sandbox Code Playgroud)

但是,当我做的git status和gitx,我没有看到我的承诺be530cec7748e037c665bd5a585e6d9ce11bc8ad在git的历史.

我怎样才能在dev分支中看到我的提交?

git cherry-pick git-cherry-pick

134
推荐指数
2
解决办法
11万
查看次数

git push --force-with-lease vs. --force

我试图了解它们之间的区别

git push -f
Run Code Online (Sandbox Code Playgroud)

和

git push --force-with-lease
Run Code Online (Sandbox Code Playgroud)

我的猜测是,如果遥控器没有本地分支没有的提交,后者只会推送到遥控器?

如果有更好的方式来表达问题,lmk,但希望它很清楚.

git git-push

87
推荐指数
4
解决办法
2万
查看次数

如何用普通提交压缩合并提交?

commit b0e5db36ed68d4562275adeb08001b1316a4da52
Merge: ea38baa 8220bb1

commit ea38baa3f46a48722987b8dd3892d2b8d81c4d1a
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我如何压缩这两个提交

我在用

git rebase -i HEAD~2
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为它删除了合并提交并且不可用于挤压

git merge commit github squash

4
推荐指数
1
解决办法
7750
查看次数