
xargs takes input from standard input (basically, a string of text - or a list of git branches in this case), and splits the string where there are spaces into separate arguments that can be used in a command.įor each of the branches returned by egrep above, the script will run git branch -d, which will delete the branch on your local machine.Īnd here's the script in action in the terminal. Read more about egrep.įinally, we pipe the result of the egrep search to the xargs command (short for extended arguments). The | (or pipe) at the beginning of the line means we're "piping" - or sending - the output of the previous command ( git branch -merged) into egrep to perform the regular expression search. So with the -v flag, we're asking egrep to find every branch that isn't named "main".

The regular expression we're passing in - "(^\*|main)" - matches the characters "main" from the start of the line. You missed uploading your branch: git checkout thebranchtobeuploaded git push -u origin thebranchtobeuploaded. The -v flag instructs egrep to print lines that do not match a given regular expression. which was also correctly done by you according to the wording of your question. The terminal error appears as follows: To :sometest.git rejected your-branch. This Git command will show you remote branches. For all of these examples, I will use freeCodeCamps open source repository.
#Terminal git list branches code#
I will show you command line code examples of each of these.
#Terminal git list branches update#
which will update your local branch list with all new ones from the remote and remove any that are no longer there. There are 4 different Git commands you can enter into your command line to list all of the remote branches of a repo. We use egrep (or extended grep) to search using extended regular expressions. Another developer pushed a commit to the same branch. Using git branch -r lists all remote branches and git branch -a lists all branches on local and remote. We're not specifying a commit, so the command will use the HEAD - the current local state of the main branch.

The official git documentation writes this as "list branches whose tips are reachable from the specified commit ( HEAD if not specified)". This command checks out the main branch, and lists all branches that can be detected as being merged into the main branch. In short, the code above checks out the main branch, lists all merged branches, searches for and lists branches that are not named exactly "main", and uses git to delete those branches on your local machine. Enter fullscreen mode Exit fullscreen mode
