如何将其他git存储库的特定文件的更改应用于我自己的存储库

时间:2017-03-19 13:53:04

标签: git version-control diff patch

有两个存储库/a/.git/b/.git,它们都有一个名为c.txt的文件。之前他们之间的文件相同,但现在c.txt已在repo a中修改。如何在不手动复制粘贴的情况下提取此更改并将其应用于repo bc.txt的修改已与repo a中的其他更改一起提交,但我只想要特定c.txt的修补程序。

P.S。如果可能的话,我希望在将此更改提交到repo b时保留原作者。

2 个答案:

答案 0 :(得分:2)

您可以使用以下步骤将c.txt的版本repoA/a/.git)改为repoB(/b/.git):

# In local repoB /b/.git
git remote add -f a /a/.git
gitk --all   #To find the commit id where remotes/a/master point to (assume the new version of c.txt in master branch)
git cherry-pick <commit id you find in above step> -X theirs

现在c.txt/b/.git的新版本保留了原作者。

答案 1 :(得分:1)

您需要在repo-b中添加一个带有repo-a-url(比如repob)的新遥控器。然后签出该文件以回复任何特定分支(例如,主)。

进入<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class='parent' style="background-color:#fff;margin-top:0;padding:0;"> <h2><a href="#test1" title="test1" class="menu2">test1</a></h2> <h2><a href="#test2" title="test1" class="menu2">test2</a></h2> <h2><a href="#test3" title="test1" class="menu2">test3</a></h2> </div> <div class="showClickedContent" style="background-color:#fff;"></div> <div id="test1" class='c' style="display:none;background-color:#fff;"> <h2>test1</h2> </div> <div id="test2" class='c' style="display:none;background-color:#fff;"> <h2>test2</h2> </div> <div id="test3" class='c' style="display:none;background-color:#fff;"> <h2>test3</h2> </div>然后尝试以下命令:

repo-b