我如何从一个git回购签出一个文件?
当前回答
如果你有一个本地修改的文件(搅乱了git的文件),只需要这样做:
git checkout origin/master filename
Git签出-切换分支或恢复工作树文件,(这里我们什么都不切换,只是覆盖文件 Origin /master -您当前的分支,或者您可以使用特定的修订号,例如:cd0fa799c582e94e59e5b21e872f5ffe2ad0154b, 包含项目主目录路径的文件名(.git目录所在位置) 所以如果你有结构:
“.git
公共/ index . html
public / css / style . css
供应商
composer.lock”
想要重新加载index.html -只需使用public/index.html
其他回答
如果您编辑了文件的本地版本,并希望恢复到中央服务器上维护的原始版本,可以使用Git扩展轻松实现。
最初文件将被标记为提交,因为它已被修改 在文件树菜单中选择(双击)该文件 列出了单个文件的修订树。 选择树的顶部/HEAD,然后右键单击save as 保存该文件以覆盖修改后的文件本地版本 文件现在有正确的版本,将不再被标记为提交!
简单!
说文件名是123.txt,这对我来说是有效的:
git checkout --theirs 123.txt
如果文件在目录a中,请确保正确地指定它:
git checkout --theirs "A/123.txt"
是的,你可以通过这个命令下载一个特定的文件
wget -o <DesiredFileName> <Git FilePath>\?token\=<personalGitToken>
例子
wget -o javascript-test-automation.md https://github.com/akashgupta03/awesome-test-automation/blob/master/javascript-test-automation.md\?token\=<githubPersonalTone>
这里是一个完整的解决方案,只拉和推一个特定的文件在git仓库:
首先,你需要克隆git存储库,并给出一个特殊提示——不签出
git clone --no-checkout <git url>
下一步是用下面的命令清除索引中的非暂存文件:
git reset
现在你可以开始拉出你想要修改的文件了:
git checkout origin/master <path to file>
现在,存储库文件夹包含您可以立即开始编辑的文件。编辑完成后,您需要执行简单而熟悉的命令序列。
git add <path to file>
git commit -m <message text>
git push
在git中,你在更新文件之前不会“签出”它们-这似乎是你所追求的。
许多系统,如clearcase, csv等,都要求您在对文件进行更改之前“签出”文件。Git不需要这个。克隆存储库,然后在存储库的本地副本中进行更改。
一旦你更新了文件,你可以做:
git status
查看修改了哪些文件。你先添加你想要提交给index的对象(index就像一个要签入的列表):
git add .
or
git add blah.c
然后do git status会告诉你哪些文件被修改了,哪些文件在索引中准备提交或签入。
要将文件提交到存储库副本,请执行以下操作:
git commit -a -m "commit message here"
参见git网站上的手册和指南链接。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 如何在Python中获得所有直接子目录
- 即使模板文件存在,Flask也会引发TemplateNotFound错误
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 如何在Ruby中创建文件
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支