簡體   English   中英

如何從另一個git存儲庫中的子目錄中提取對文件的更改

[英]How can I pull in changes to a file from a subdirectory in another git repository

我的git儲存庫中有一個文件,該文件有時會在另一個git儲存庫中收到錯誤修復。 我希望能夠將那些提交放入我的倉庫中。

例如:

project_a/
  /.git
  /src/somefile.cpp

project_b/
  /.git
  /utils/converters/apples/bananas/src/somefile.cpp

我想為一些somefile.cpp將提交從project_b提交到project_a

如果您具有相同名稱但在不同文件夾中的文件(假設您已將project_b合並到一個子目錄中),則必須按照以下方式進行選擇

git cherry-pick project_b/master --strategy=subtree

您可以將project_b添加為遠程對象,然后從中進行獲取和挑選。 嘗試這樣的事情:

git remote add project_b /path/to/project_b/
git fetch project_b

現在您可以從project_b挑選櫻桃。 如果您想要的提交位於project_b的master分支的尖端,則只需執行

git cherry-pick project_b/master

另外,您也可以繞過遠程獲取/獲取櫻桃的內容,而直接從project_b修補,如下所示:

git --git-dir=/path/to/project_b/.git format-patch -k -1 \
--stdout <commit SHA> somefile.cpp | git am -3 -k

根據此答案改編 。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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