Git command to commit all changes including files removed or created

After making changes to files already tracked by git I usually do a:

git commit -a -m "a message describing what you did"

followed by

  • Reset git lfs repository to pointers
  • Submodule libraries in git to minimize redundancy
  • git pull command output message meaning into which branch
  • Filter git log to show only commits with notes
  • Branch is merging into self on git push
  • Cannot find ~/.hgrc file after Mercurial installation via MacPorts
  • git push origin master

    to commit and then push all changes to my Github account. The first command however does not work for commiting files either added or removed. To do that I would have to first type:

    git add -A

    as mentioned here: How to commit and push all changes, including deletes?.

    In this other question Git commit all files using single command the accepted answer indicates that the only way to apply the full commit (ie: including files added or removed, not only edited) and then the push is by combining them with the && command like so:

    git add -A && git commit

    which in my case would look like:

    git add -A && git commit -a -m "a message describing what you did" && git push origin master

    Now for the question(s): is this large command correct? Is there a way to create a new git command to apply these three commands all at once? Furthermore: is this merging of commands recommended or discouraged? If so, please state the reason.


    I immediately regret this decision: Edit last pushed commit's message.

  • Git: How to see old version of a file (before it was added to the staging area/index)?
  • How to define ESC char in git?
  • How do I checkout a single folder from git
  • Gitolite gitignore template
  • How to view git objects and index without using git
  • How do I change the default author and committer in the Eclipse Git plugin?
  • 3 Solutions collect form web for “Git command to commit all changes including files removed or created”

    Looks correct to me.

    You could create an alias for the command by executing

    git config --global alias.commitall '!func(){ git add -A && git commit -am "$1" && git push origin master; }; func'

    Then you could commit all changes by entering

    git commitall "a message describing what you did"

    Yeah. That large command is actually correct. It will allow you to commit everything inside a given directory in a repo, including newly created / untracked files.

    Yes, you can create a new git command (actually, an alias) like this:

    acp = "!f(){ git add -A && git commit -am "$1" && git push origin master; };f"

    The above alias must go inside your global git configuration (at ~/.gitconfig) under section labelled [alias]. Now, you can write something like: git acp <message> to run the above command.

    Merging of commands is definitely recommended and is the power that *nix provides. However, in the current case, make sure that you actually want to perform all these actions in a single step. Git assumes that you want to selectively add your changes.

    If you feel bad about typing three lines again and again, you could also use GUI tools.
    By the way, as “Stonic” said, you could always create a new git command.

    Git Baby is a git and github fan, let's start git clone.