[英]How to make a Git branch from another branch and ignore unmerged files?
當我從另一個分支Feature1創建一個新的分支Feature2時,它還包含來自Feature1的未與master合並的更改文件。 有沒有辦法將feature1和feature2中的更改分開?
不可能將分支Feature2標記為“在比較此分支時從不顯示來自Feature1的更改”。 如果可能的話,合並特征2時會出現問題:合並特征1的更改-在這種情況下,內容將被合並,這在diff中未顯示。 否則來自Feature1的更改將不會合並,如果Feature2基於這些更改,則會導致問題(例如,在Feature2中調用在Feature1中添加的新功能)。
但是,您可以顯示屬於feature2的所有提交,但不包括feature1或master的所有提交:
git log ^feature1 ^master feature2
通過添加-p
選項,您還可以查看每個提交的差異以查看這些更改。
在我看來,你想要的是開始feature2
上的最近的提交,既在master
和feature1
,因此合並feature2
,以master
之前feature1
不會從引入任何提交feature1
。 您可以通過使用git-merge-base命令來查找兩個分支共享的最新提交來執行此操作:
git checkout -b feature2 $(git merge-base --fork-point master feature1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.