我能否从远程仓库中选择性地获取我感兴趣的文件,而不是简单地拉取整个分支?
谢谢。
“远程分支”只是一个提交指针和相关的打包数据。只需使用git fetch <remote>
,如果您想查看远程文件与本地文件之间的差异,则可以使用以下命令:
git diff <local_branch> <remote>/<remote_branch> -- <file>
在许多情况下,这样做的方法可以是:git diff master origin/master -- <file>
。您还可以使用git log
查看提交差异:
git log <local_branch>..<remote>/<remote_branch> -- <file>
所以...git log master..origin/master -- <file>
最后如果你只想从远程检出特定版本的文件(这并不理想,更好的方法是将远程分支合并到git merge <remote>/<remote_branch>
或git pull
),使用:
git checkout <remote>/<remote_branch> -- <file>
不,你必须获取整个分支,但可以选择检出特定的文件。
git checkout origin/master -- *.{sh,rb,pl,R,py,php}
命令更新本地源文件之前,我需要先执行git fetch
命令。在此之前,我还执行了git stash
命令,以防止丢失任何未提交的过时文件的本地更改。 - Marcos