假设您可以连接到他的机器和git clone
他的本地存储库,您将想要获取他的分支并创建一个本地跟踪分支。听起来您已经涵盖了这一点,但是为了后代:
git remote add <repo> <his_repo_path>
您不能只提取特定文件。您可以做的就是将您的分支版本称为独特的,并且只需挑选您希望最终在您的服务器上的提交:
git fetch <repo> <his_branch>:throwaway ;# this would call your branch 'throwaway'
假设他的历史(即 的历史throwaway
)看起来像A-B-C-D-E-F
。如果你只是想要提交B
和D
,你可以用cherry-pick把它们抓到主分支:
git checkout <main_branch> ;# checkout your main branch
git cherry-pick `B`
git cherry-pick `D`
你完成了。
还有一个我不推荐的“快速而肮脏”的解决方案,因为这是不好的做法,但如果你真的只需要一两个文件,它就能完成工作,而且你是从不智能大小的人那里拉出来的提交:
git checkout -B trashme master ;# or whatever your main branch is
- 把文件复制过来。从字面上制作副本或通过电子邮件将它们发送给您。
trashme
在签出分支时将它们移动到存储库中。
- 在暂存和提交它们之前进行编辑。
- 那些
cherry-pick
提交或git merge trashme
.