h22*_*h22 157 git git-pull git-merge git-fetch
我正在开发一个Git分支,它有一些破坏的测试,我想从另一个已经修复的分支中提取(合并更改,而不仅仅是覆盖)这些测试.
我知道我能做到
git pull origin that_other_branch
Run Code Online (Sandbox Code Playgroud)
但这将尝试合并许多其他文件,因为我尚未准备好.
是否可以从另一个分支中提取和合并指定的文件(而不是所有内容)?
这不仅仅是对一个文件的Git pull请求的重复,因为该问题的所有答案都是如何将本地更改的文件还原到存储库版本,而不更改任何分支.
Chr*_*ris 236
在研究这个时,我只是想出了一个稍微简单的方法:
git fetch {remote}
git checkout FETCH_HEAD -- {file}
Run Code Online (Sandbox Code Playgroud)
ale*_*oot 137
您可以通过以下方式获取然后仅检出一个文件:
git fetch
git checkout -m <revision> <yourfilepath>
git add <yourfilepath>
git commit
Run Code Online (Sandbox Code Playgroud)
关于git checkout
命令:
<revision>
- 分支名称,即origin/master
<yourfilepath>
不包括存储库名称(可以从copy path
GitHub上的文件页面上的单击按钮获得),即README.md
Maw*_*rdy 17
git checkout master -- myplugin.js
Run Code Online (Sandbox Code Playgroud)
master =分支名称
myplugin.js =文件名
@Mawardy的答案对我有用,但是我的更改在远程进行,因此我必须指定来源
git checkout origin/master -- {filename}
Run Code Online (Sandbox Code Playgroud)
为了用其他存储库或分支中的文件覆盖本地文件,命令是...
git checkout remoteName/branchName filePath
Run Code Online (Sandbox Code Playgroud)
这是我以前使用过的一个例子......
git checkout origin/master package-lock.json
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
210499 次 |
最近记录: |