Reputation: 193
My apologies if this is a silly question but I'm a VSS/VSTS guy trying to convert to Git :)
I cloned a repository and pulled down a load of Visual Studio projects. While working on those projects I noticed that another developer had submitted an invalid .sql file. I fixed that .sql file for them, but am now unsure how to check in just that .sql file
My code changes are all half-baked so they can't be checked in at present. I have Git Extensions on my computer, and when I right click on the file in Windows Explorer and go Git Extensions -> Commit, there are lots of files referenced on the left. The file I want to check in has a symbol of a pencil, and the mass of other files all have a green + symbol.
Upvotes: 10
Views: 36283
Reputation: 9693
With current versions of git you can also do:
git commit <filename>
This will commit everything in that file and only that file. What is currently staged to the index doesn't matter.
Some versions of git require additional arguments to be placed before the filename. This includes -m <message>
.
Upvotes: 0
Reputation: 29580
SmartGit can commit working tree changes from individual files even if other files are staged.
Upvotes: 0
Reputation: 213059
It's probably safest/easiest to do it from the command line:
$ git add foo.sql
$ git commit -m "Fixed foo.sql"
This just commits the file foo.sql. Before the commit you can do:
$ git status
to confirm that only the required file will be committed (it will list the other modified files separately, but they will not be "staged" for the next commit).
Upvotes: 4
Reputation: 4164
If you can use gitbash or something similar, use git add <filename>
.
Upvotes: 0
Reputation: 265547
you only need to add the changes in the sql file to the index and run git commit.
git add path/to/file.sql
git commit -m 'fixed broken sql file'
don't worry about your other changes, as long as you haven't add
ed them, they won't be committed (to make sure there are no changes in the index, run git reset
before adding the other change)
Upvotes: 18