git 可以在 B 分支直接推送改动给 A 分支合并, 而不用切换到 A 分支的办法吗?

2020-09-05 11:41:22 +08:00
 5bb864e1fc775087

我现在在 dev 分支,提交了一个 commit,想让 master 合并这几个改动
我只知道要先切换到 master 分支,然后再 git merge dev 实现合并
有办法实现不用切换到 master 分支,直接让 master 分支合并这一个 commit 吗?

这种切换到 master 分支,再 git merge 的方式让我这个强迫症难受:

  1. 切换到 master 分支,git 会把我在 dev 分支里新建的文件都删掉,恢复 master 分支的状态
  2. 然后我再 git merge dev,就又把那些文件创建回来

如果我在 dev 分支的 commit 里创建了几百个文件,这一来一回就要改动几百*2 的文件,就很不爽

如果能让 master 分支先合并了,我再切换到 master 分支,这样就不用删这些文件又恢复这些文件

6014 次点击
所在节点    问与答
45 条回复
yuriko
2020-09-06 11:09:14 +08:00
git 命令基本都是针对当前分支的操作,涉及到操作空间的逻辑,这个设计我觉得很合理

以及本地切换 git branch 很麻烦我理解,但关注点是文件的创建流程就是强迫症了,不然你要不要考虑下 gitlog 里的东西都怎么存的?
SergeGao
2020-09-06 11:18:45 +08:00
楼上都不读题的吗....题主是想在不切回 master 分支的情况下合并某分支到 master 上,说个我知道的操作:

git fetch origin branch-dev:master

这个命令的意思就是拉取 branch-dev 分支并合并到 master 分支,所以题主可以先 push 一下 dev 分支,然后执行下上面操作即可
xi_lin
2020-09-06 13:43:18 +08:00
@yaerda git worktree 学到了,感谢。不知道为啥我在 v2 上没有点感谢的入口了。。
standin000
2020-09-07 09:20:52 +08:00
正想提 worktree,需要 git 2.15 版本,一个目录存在多个分支,公用.git 目录
James369
2021-05-11 17:11:18 +08:00
太棒了,我正好有这个需求。因为我经常在切换分支的时候,文件就莫名其妙的丢失了(可能被 ignore 了)。现在可以不用切换直接合并了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/704420

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX