A 和 B 分支在远程仓库上都已经存在了。
现在想做的操作是,每次 A 更新后,首先完全同步 A 的更新后的文件,然后做出一些类似 CI 的修改,最后将所有更新后的内容推到 B 分支(而 A 分支保持不变)
应该怎么操作?
目前的想法是
1. git checkout main
2. git fetch --all
3. git reset --hard origin/main
4. git pull # 到这里为止获取最新的 main
5. 修改
6. git checkout dev
7. git merge main
8. git commit
9. git push dev
不过有个疑问是第 6 步 checkout 的时候,我刚刚修改的文件不就没了么
1
Akiya 2021-12-09 17:53:31 +08:00
```
git checkout branchA 修改 git commit git checkout branchB git merge branchA ``` |
2
fdppzrl 2021-12-09 17:54:20 +08:00 via Android
git stash
|
3
GuuJiang 2021-12-09 17:56:57 +08:00
1. git checkout B
2. git checkout A . 3. 修改 4. git commit 5. git push 关键是第二步中的第二个参数“.”,不能漏,表示把 A 分支的文件检出到当前工作空间 |
4
Shawlaw 2021-12-09 20:36:47 +08:00 via iPhone
git checkout branchB
git merge branchA --no-ff 修改 git add . git commit 如果要把流程自动化,可以试试在远端仓库启用 githook 这样的 git 分支历史也会比较清晰。 |
5
FAQ999 2021-12-09 21:13:55 +08:00 1
cherry-pick ?
|
6
hdfg159 2021-12-09 21:16:49 +08:00 via Android
5 楼正解
|
7
QingStone 2021-12-10 08:04:58 +08:00 via iPhone
5 楼正解
|