[英]How to reset the changes that were pushed to git and then merged with another branch?
[英]Check whether branch changes were manually merged
我有一個未合並的分支,但我懷疑它的更改已經手動集成而沒有使用 git(不好,我知道)。
將其與 master 進行區分將顯示出大量的變化。
如何檢查 master 中是否存在分支更改?
當您說“不使用 git”時,我假設您的意思是有人可能在目標分支的新提交中再次進行了相同(或相似)的更改,但沒有使用cherry-pick
或merge
。
在這種情況下,您可以嘗試將您的分支重新定位到目標分支。 在兩個分支中進行類似或相同的更改將導致沖突(您的答案將很明顯)或更改將消失。 完成后,查看分支上新重寫的提交,看看還剩下什么,如果有的話。
旁注:如果您的組織工作流程允許(並且大多數都允許),我強烈建議您定期將您的(非協作)功能分支重新定位到目標上以使其保持最新狀態,並在完成對目標的 PR 之前再次分支。 通過這種方式,您可以自動了解其他人是否進行了與您相同的更改並在您之前完成了他們的 PR,這還有其他多種好處。
盡管如此,請嘗試將您的分支與 master 合並。 兩件事中的一件會發生——
案例 1 :更改未在較早時集成到主分支中。
在這種情況下,您將能夠毫無問題地將您的分支合並到 master 中,並且很可能在您的代碼中幾乎沒有沖突。
案例 2 :手動將更改集成到主分支中。
在這種情況下,當您將分支與 master 合並時,您更有可能遇到沖突,因為git
會檢測到您的文件中存在類似的更改。 通過查看沖突,您將立即知道更改是手動合並的。
如果您不想繼續使用git merge --abort
,則可以中止合並。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.