Languages
[Edit]
EN

Git - xargs with git branch - fatal: branch name required

4 points
Created by:
Marcin
2471

Problem:

When I execute command line:

git branch | grep -v "master" | xargs git branch -D

I get error:

fatal: branch name required

I'd like to execute another command after &&
but when I get this error it won't work

Solution:

Just add to xargs

--no-run-if-empty

// your command fixed

git branch | grep -v "master" | xargs --no-run-if-empty git branch -D

Explanation:
// when we don't have any local branches except master, run:

git branch | grep -v "master" | xargs git branch -D

// we will get error:

fatal: branch name required

// FIX - add '--no-run-if-empty' to xargs

git branch | grep -v "master" | xargs --no-run-if-empty git branch -D

// we will get no result

From xargs man:

-r, --no-run-if-empty
      If the standard input does not contain any nonblanks, do not
      run the command.  Normally, the command is run once even if
      there is no input.  This option is a GNU extension.

manuals:
http://man7.org/linux/man-pages/man1/xargs.1.html
https://git-scm.com/docs/git-branch

Hey 👋
Would you like to know what we do?
  • Dirask is a friendly IT community for learners, professionals and hobbyists to share their knowledge and help each other in extraordinary easy way.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.