Manage configurations

More Control

The git status command shows the changes earmarked for the etckeeper.conf as well as the debian_version file (Figure 5). So far these changes haven't been committed.

Figure 5: Using git status to check the pending changes before committing.

To commit the changes, use the command:

git commit -a -m "Description"

It is helpful to provide the commits with an intuitive description, so you can understand them later (Figure 6). Enter the files that you do not want to include with the versioning in /etc/.gitignore. It does no harm to clean up the repository with git gc --auto now and then. The system compresses the contents and removes unnecessary files.

Figure 6: A detailed comment on the commit helps to understand the changes later on.

Git Command

The git log command (Figure 7) gives you an overview of previously issued commits. You will see the associated revision numbers in addition to the comments you wrote (the changelog). The comments make it easier to find, compare, or undo certain revisions.

Figure 7: Listing all the performed commits, along with the revision IDs.

To take a closer look at a commit, you need the first six characters of the revision ID. If they are 40f0de, then, you can examine the exact changes by typing:

git show 40f0de

To compare two commits, try git diff and specify the first six characters of the commits.

Undoing Mistakes

If you discover from a git status commit that you made a mistake on a change, you can undo it using git checkout. The git checkout command lets you revise the entire commit or just part of it. The command

git checkout /etc/hosts

would only undo a change to the /etc/hosts file that had not been written to Git. Conversely, if you only type git checkout, the system will restore any changes that have not yet been written.

If a commit has already been issued before the error is discovered, you need a different approach: The git revert HEAD command completely undoes the failed commit (Figure 8). After this command, you can no longer trace the canceled change.

Figure 8: Changes can also be canceled with git revert even after the commit.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Kup

    KDE's Kup tool uses Rsync and techniques from the Git version control environment for sophisticated backup with an easy GUI interface.

  • Version Control with Git

    The Git version control system is a powerful tool for managing large and small software development projects. We'll show you how to get started.

  • Workspace: Subversion

    Even if you are not a programmer, you’ve probably heard of Subversion, a powerful tool for managing changes to software projects. Although Subversion is designed primarily for software developers, it can be useful to mere mortals as well.

  • Tree View

    Complex Git projects sometimes require a better view of the dependencies and branches. Several tools offer GUI options for Git. We take a look at gitk, gitg, git-gui, and GitAhead.

  • Git 101

    When several people collaborate on source code or documents, things can get messy fast. Git provides a quick cure: The distributed versioning system reliably ensures the integrity and consistency of data with minimal effort.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95