我正在一个服务器运行Git的网站上工作。我正在使用Git进行部署(不是GitHub)。这是在我使用hook method之前设置的,我引用了this question并输入了下面的命令,但它不起作用。
我如何从服务器上拉取一个文件?例如,如果我想更新我的本地文件index.php?git pull index.php
?
我正在一个服务器运行Git的网站上工作。我正在使用Git进行部署(不是GitHub)。这是在我使用hook method之前设置的,我引用了this question并输入了下面的命令,但它不起作用。
我如何从服务器上拉取一个文件?例如,如果我想更新我的本地文件index.php?git pull index.php
?
9条答案
按热度按时间yhxst69z1#
简短回答
可以执行以下操作(在部署的存储库中):
接着是:
完整示例
检查远程名称
确认是
origin
我位于分支
develop
上,需要分支main
中的文件我需要的文件是
src/scss/main.scss
5jvtdoz22#
这是假设您正在从原始/主文件中提取文件。
xsuvu9jc3#
这可能是解决方案:
谢谢。
gk7wooem4#
我正在寻找略有不同的任务,但这看起来像你想要的:
我的意思是,如果你想获取
path/to/file.xz
,你会把DIR_NAME
设置为path/to
,把FILE_NAME
设置为file.xz
,所以你会得到这样的结果当然,除了
tar xO
之外,没有人会阻止你进行任何其他形式的开箱(是的,是我需要一根管子)。wd2eg0qa5#
当您--或者比您更强大的力量--在本地存储库中损坏了一个文件,而您只想从存储库中恢复该文件的最新版本时,就会出现这种情况。简单地使用/bin/rm(而不是git rm)删除该文件,或者重命名/隐藏该文件,然后发出
git pull
命令是行不通的:git会注意到文件的缺失,并假设您可能希望它从repo中消失(git diff
会显示从缺失文件中删除的所有行)。git pull
不能恢复本地丢失的文件一直让我对git感到沮丧,也许是因为我受到了其他版本控制系统的影响(例如svn update,我相信它 * 会 * 恢复本地隐藏的文件)。git reset --hard HEAD
是一种恢复感兴趣的文件的替代方法,因为它会丢弃所有未提交的更改。但是,如here所述,如果您有任何其他您关心的未提交更改,git reset是一个潜在的危险命令。@chrismillah上面提到的
git fetch ... git checkout
策略是恢复有问题的文件的一种很好的外科手术式方法。yks3o0rb6#
尝试使用:
例如:
hpcdzsge7#
例如https://raw.githubusercontent.com/vipinbihari/apana-result/master/index.php
通过这个你可以得到一个单独文件的内容作为一行文本。你可以用wget下载这个文本。
例如https://raw.githubusercontent.com/vipinbihari/apana-result/master/index.php
w9apscun8#
无论是否在GitHub上,这个Windows批处理都能正常工作。我之所以使用它,是因为它显示了一些明显的警告。您会注意到,该操作速度很慢,并且会遍历数百兆字节的数据,因此如果您的要求基于可用带宽/读写内存,请不要使用此方法。
=〉
C:\用户\用户名\桌面〉sparse_checkout. bat
C:\用户\用户名\桌面〉推送"C:\用户\用户名\桌面"
C:\用户\用户名\桌面〉如果不存在。\ms-server-essentials-docs mkdir.\ms-server-essentials-docs
C:\用户\用户名\桌面〉pushd.\ms-server-essential-docs
C:\用户\用户名\桌面\ms-server-essentials-docs〉git init初始化C:/用户/用户名/桌面/ms-server-essentials-docs/. git/中的空Git存储库
C:\用户\用户名\桌面\ms-server-essentials-docs〉git远程添加源-f https://github.com/MicrosoftDocs/windowsserverdocs.git正在更新源远程:正在枚举对象:97,完成。遥控:计数对象:100%(97/97),完成。罕见:压缩对象:100%(44/44),完成。罕见:总计145517(增量63),重用76(增量53),包重用145420接收对象:100%(145517/145517),751.33百万兆字节|32.06 MiB/s,完成。正在解析增量:100%(102110/102110),已完成。来自https://github.com/MicrosoftDocs/windowsserverdocs *[新分支]
1106-冲突-〉来源/1106-冲突 *[新分支]
来自私有回购-〉来源/来自私有回购 *[新分行]
PR183-〉原产地/PR183 *[新分支机构]
冲突修复-〉来源/冲突修复 *[新分支]
eross-msft-修补程序-1-〉源/eross-msft-修补程序-1 *[新分支]
主文件-〉原始文件/主文件 *[新分支]修补程序-1
小块补丁-1-〉原点/小块补丁-1 *[新分支]
短模式-补丁-2-〉来源/短模式-补丁-2 *[新分支]
小补丁-3-〉原点/小补丁-3 *[新分支]
小补丁-4-〉原点/小补丁-4 *[新分支]
小补丁-5-〉原点/小补丁-5 *[新分支]
小补丁-6-〉原点/小补丁-6 *[新分支]
7-〉来源/7 *[新分支]
短模式-修补程序-8-〉原点/短模式-修补程序-8
C:\用户\用户名\桌面\ms-server-essentials-docs〉git配置核心. sparseCheckout为真
C:\用户\用户名\桌面\ms-server-essentials-docs〉(echo essentialsDocs)1〉〉. git\信息\稀疏 checkout
C:\用户\用户名\桌面\ms-server-essentials-docs〉git拉取源主机
从https://github.com/MicrosoftDocs/windowsserverdocs开始
j0pj023g9#
只需执行git checkout / -- path/to/file即可
例如:x1月1x