Agile Zone is brought to you in partnership with:

I'm an Enterprise Software Architect working predominantly on integration solutions in the financial software arena. Core competencies include Java, Message Driven Architectures, Spring, Spring Integration and data storage technologies. Matt is a DZone MVB and is not an employee of DZone and has posted 13 posts at DZone. You can read more from them at their website. View Full User Profile

Git - Simple File Management

05.21.2013
| 7367 views |
  • submit to reddit

Files can be added, committed and removed from git repositories using one or more of the following commands:

Adding a file named "testFile.xml" to the index.

git add testFile.xml

Testing to view differences between the index and HEAD

git diff --cached

produces something like the following:

lizard:l8mdv-si-samples mvickery$ git diff --cached
diff --git a/testFile.xml b/testFile.xml
new file mode 100644
index 0000000..e69de29

This has not been added to the repository yet but remains in the index. Committing the file to the local repository involves promoting changes from the index to the repository, a suitable command could be something like:

git commit -m "Creating content" testFile.xml

Assuming no other files have been created and added to the index, running "git diff -- cached" after performing the commit should result in nothing being returned from the command invocation. The index and HEAD are now synchronised.

The local repository contains the new file, if you're using GitHub you may want to push the new file to the remote repository, this can be done with a command such as the following:

git push -u origin master

Additionally, if you're using GitHub as a remote repository, you can remove files from that repository by using a commands such as the following:

Removal from index, local repositoryremote repository and the local file system:

git rm testFile.xml
git commit -m "Test file removal"
git push -u origin master

Removal from the index, local repository, remote repository but not the local file system:

git rm --cached testFile.xml
git commit -m "Test file removal"
git push -u origin master
Published at DZone with permission of Matt Vickery, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)