场景:

我在本地单个文件中做了一些更改,并运行git add, git commit和git push 该文件被推送到远程源主存储库 我有另一个本地存储库,通过Capistrano使用“remote_cache”方法从该远程存储库部署 现在我不想部署整个应用程序,而只是更新/签出单个文件。

这在某种程度上是可能的git?我没能找到任何可行的方法,也没能搞清楚。对于SVN,我只做了SVN up文件,瞧。


当前回答

我想我找到了一个简单的破解方法。

删除本地存储库上的文件(希望从远程服务器中的最新提交更新的文件)

然后再来个"少不再来

因为删除了文件,所以不会有冲突

其他回答

你可以做的是:

更新本地git回购: git获取 构建一个本地分支并在上面签出: Git分支pouet && Git结帐pouet 在这个分支上应用你想要的commit: Git选择abcdefabcdef (abcdefabcdef是你想要应用的提交的sha1)

这是可能的(在部署的存储库中)

git fetch
git checkout origin/master -- path/to/file

fetch将下载所有最近的更改,但不会将其放在当前签出的代码(工作区域)中。

签出将使用下载的更改(origin/master)中的特定文件更新工作树。

至少这对我来说是一些小的错别字修复,在那里创建一个分支等只是改变一个文件中的一个词感觉很奇怪。

这对我很管用

git checkout origin/develop file_name.php

以下代码为我工作:

git fetch
git checkout <branch from which file needs to be fetched> <filepath> 

我想我找到了一个简单的破解方法。

删除本地存储库上的文件(希望从远程服务器中的最新提交更新的文件)

然后再来个"少不再来

因为删除了文件,所以不会有冲突