我的存储库有一个master
和dev
分支。
此时我希望将 与 合并dev
,master
或者更好,不是合并,而是将分支的内容完全替换为.master
dev
是否有可能,以及如何使用 git 命令来实现?
我的存储库有一个master
和dev
分支。
此时我希望将 与 合并dev
,master
或者更好,不是合并,而是将分支的内容完全替换为.master
dev
是否有可能,以及如何使用 git 命令来实现?
这是与“他们的”策略的“合并”,它本身并不存在。
但是你可以通过一个数字来模拟它,比如“ git command for making a branch like another ”
我喜欢的一个是通过创建一个额外的分支:
git checkout dev
git checkout -b tmp
git merge -s ours master # ignoring all changes from master
git checkout master
git merge tmp # fast-forward master to tmp HEAD
git branch -D tmp
假设您从master
... 开始,稍后您创建了一个dev
分支(来自master
HEAD
或以前的某个提交)master
。
您还可以执行以下操作。
# find common ancestor
git merge-base master dev
# This will give you SHA-1 of ancestor like this: `4de51ba41fba357ac9ce63f098451cd1fc2dacbe`
# A hard reset master to this commit
git checkout master
git reset --hard 4de51ba41f
git rebase master dev
# After successful completion you will find yourself checked out on `dev`
# checkout master again and merge dev to get your final result
git checkout master
git merge dev
# Now your master will be same as dev