假设我有以下 git 结构:
* hash3 (HEAD -> origin/bN, bN) Message N
|
* ...
|
* hash2 (origin/b2, b2) Message 2
|
* hash1 (origin/b1, b1) Message 1
|
* hash0 (origin/master, master) Message 0
如果我想修改 b1
的一些内容,我会执行 git rebase -i hash0
命令,并编辑带有信息 Message 1
的提交。重新设置后,我将会得到:
* hash6 (HEAD -> bN) Message N
|
* ...
|
* hash5 Message 2
|
* hash4 Message 1
|
| * hash3 (origin/bN) Message N
| |
| * ...
| |
| * hash2 (origin/b2, b2) Message 2
| |
| * hash1 (origin/b1, b1) Message 1
|/
* hash0 (origin/master, master) Message 0
然后,我将每个新哈希值与其相应的分支链接起来,并将其推送到远程仓库,以得到以下结果:
* hash6 (HEAD -> origin/bN, bN) Message N
|
* ...
|
* hash5 (origin/b2, b2) Message 2
|
* hash4 (origin/b1, b1) Message 1
|
* hash0 (origin/master, master) Message 0
对于每一个 <b1, hash4>
, <b2, hash5>
, ...
, <bN, hash6>
,我使用以下命令执行(这真的是一件麻烦的事情):
git branch -f b1 hash4
git push origin b1 --force
问题:有没有办法自动化这个逻辑?
--rebase-merges
选项测试这些变基操作?(https://dev59.com/WWUo5IYBdhLWcg3wmQZN#50555740) - VonC