我的 GitHub 存盤庫中有兩個分支,dev并且master. 最近,我從做公關dev到master現在,他們都承諾1關閉。
master有 111 次提交和dev112 次提交,但兩個分支的代碼完全相同。
這很煩人,因為在 GitHub 上,我看到This branch is 1 commit ahead of dev.當我從masterto做 PR時dev,它被切換,我得到This branch is 1 commit ahead of master.
如何解決這個問題?
uj5u.com熱心網友回復:
我最近在做從 dev 到 master 的 PR,現在他們是 1 次提交。
當您合并 PR 時,它可能會創建一個“合并提交”:具有兩個父級的提交,它鏈接兩個分支的歷史記錄,如下所示:
master before merge
v
... <--a <--b <--c
\
-- M <-- master after merge, pointing at merge commit
/
... <--x <--y <--z
^
dev, before and after merge
除非您解決了任何沖突,否則此提交不會包含任何更改,它只是將歷史記錄粘合在一起。它可以從(即在歷史中)“master”訪問,但不能從“dev”訪問,因此它顯示為它們的歷史差異。
您可以以另一種方式合并回來,然后您將在“dev”的歷史記錄中擁有一個新的合并提交,該提交不在“master”中(“z”和“M”作為父項)。根據您的作業流程,這可能會或可能不會減少混淆。
或者,您可以“快進” dev 以指向合并提交,但是如果您保護分支僅通過拉取請求進行更改,那將是繁瑣的。
uj5u.com熱心網友回復:
如果dev應該與 相同master,則可以強制它進入該狀態。
git checkout dev
git reset --hard master
git push --force
這會改變dev——如果在那個分支上有一個你不理解的提交,它就會消失。似乎這不是問題的關注點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/354936.html
上一篇:用于RecyclerView的專案XML中的AndroidTextView左重力問題
下一篇:Git如何管理自動解決的合并?
