在Git中检入单个文件?

时间:2011-08-16 14:38:02

标签: git version-control git-extensions

我很抱歉,如果这是一个愚蠢的问题,但我是一个VSS / VSTS试图转换为Git的人:)

我克隆了一个存储库,并下载了大量的Visual Studio项目。在处理这些项目时,我注意到另一个开发人员提交了一个无效的.sql文件。 我为他们修复了.sql文件,但我现在不确定如何检入.sql文件

我的代码更改都是半生不熟的,因此目前无法检入。 我的计算机上有Git Extensions,当我在Windows资源管理器中右键单击该文件并转到Git Extensions时 - >提交,左侧有很多文件引用。 我要签入的文件有一个铅笔符号,其他文件的质量都有一个绿色+符号。

5 个答案:

答案 0 :(得分:15)

您只需要将sql文件中的更改添加到索引并运行git commit。

git add path/to/file.sql
git commit -m 'fixed broken sql file'

不要担心您的其他更改,只要您没有add编辑它们,它们就不会被提交(为了确保索引没有变化,运行{{1}在添加其他更改之前)

答案 1 :(得分:4)

从命令行执行此操作可能是最安全/最简单的:

$ git add foo.sql
$ git commit -m "Fixed foo.sql"

这只是提交文件foo.sql。在提交之前,您可以:

$ git status

确认只提交所需的文件(它将单独列出其他修改过的文件,但下次提交时不会“暂存”)。

答案 2 :(得分:0)

如果您可以使用gitbash或类似内容,请使用git add <filename>

答案 3 :(得分:0)

SmartGit可以从单个文件提交工作树更改,即使其他文件已暂存。

答案 4 :(得分:0)

使用当前版本的git,你也可以这样做:

git commit <filename>

这将提交该文件中的所有内容,并且只提交该文件。目前上演的指数并不重要。

某些版本的git需要在文件名之前放置其他参数。这包括-m <message>