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 161 天前
```
git checkout branchA 修改 git commit git checkout branchB git merge branchA ``` |
![]() |
2
fdppzrl 161 天前 via Android
git stash
|
3
GuuJiang 161 天前
1. git checkout B
2. git checkout A . 3. 修改 4. git commit 5. git push 关键是第二步中的第二个参数“.”,不能漏,表示把 A 分支的文件检出到当前工作空间 |
![]() |
4
Shawlaw 161 天前 via iPhone
git checkout branchB
git merge branchA --no-ff 修改 git add . git commit 如果要把流程自动化,可以试试在远端仓库启用 githook 这样的 git 分支历史也会比较清晰。 |
![]() |
5
FAQ999 161 天前 ![]() cherry-pick ?
|
![]() |
6
hdfg159 161 天前 via Android
5 楼正解
|
![]() |
7
QingStone 161 天前 via iPhone
5 楼正解
|