簡體   English   中英

如何從另一個分支創建一個Git分支並忽略未合並的文件?

[英]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上的最近的提交,既在masterfeature1 ,因此合並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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM