Git Bash For Mac

A few swipes of your hand and it’s done for you

Git Bash For Mac High Sierra

  • Edit .bash_profile on Mac
  • Windows Git Bash
  • Try aliases
  • Windows Doskey

This is a hands-on tutorial on how you can configure and use Terminal and macros to save time working with Git and GitHub. The steps are intended for “newbies” new to the operating system.

Windows users: skip to the Windows installation section.

Default Terminal on MacOS

To open the Terminal program that comes with MacOS:

Apr 07, 2019  Informative git prompt for bash and fish. This prompt is a port of the 'Informative git prompt for zsh' which you can find here. A bash prompt that displays information about the current git repository. In particular the branch name, difference with remote branch, number of.

  1. Click the blue Finder icon at the left side of the Launch bar at the bottom of the screen.
  2. Click Go on the menu or press at the same time shift + command + A keys.
  3. Scroll down to click the click the Utilities folder.

  4. PROTIP: Drag the Terminal icon and drop it on the Launchbar so it’s easier to find in the future.

  5. Click the Terminal icon to open it.

  6. Press command + N to open using the Basic (default) Terminal settings (white background).

    PROTIP: Alternately, enjoy different colors by clicking menu item Shell then New Window and selecting one of the options listed:

    • Grass (dark green) I cd to my public website posts that go to GitHub
    • Ocean (dark blue) I cd to my private notes repository
    • Red Sands I cd to the code repository I’m working on
    • Homebrew (green font on black) I cd to the server I’m working on

Alt Terminal on MacOS

PROTIP: Alternately, some prefer to use a 3rd-party Terminal program which has additional features.

  1. Read about features not in the default program:

    To download and use it:

  2. Open a Terminal (as shown above).
  3. Install Homebrew.
  4. Use Homebrew to download

    brew install -g iterm2

  5. Open a Finder and Go to Applications. Scroll to click iTerm2.

  6. PROTIP: Drag the Terminal2 icon and drop it on the Launchbar so it’s easier to find in the future.

  7. Read its documentation:

Edit .bash_profile on Mac

Git bash for mac mojave
  1. Install a text editor you want to use.
  2. Open a Terminal window.

  3. If you have a new MacOS machine, create a file on your Home folder that MacOS executes before opening any Terminal window:

    • ~ designates the home folder for you account.
    • '#'>> adds a comment (#) to the bottom of the file in case the file has already been created, rather than wiping out the file.
    • . in front of a file (in *nix systems such as Mac) denotes a hidden file.
  4. In a Terminal, open to edit. Different editors have different commands. In this example, the Nano text editor is being used because Nano is built into MacOS:

    nano ~/.bash_profile

    Git shortcuts on MacOS

    With the ~/.bash_profile file in an editor:

  5. Highlight these lines, then press command+C to copy it your machine’s (invisible) Clipboard:

    Switch programs

  6. Press command+Tab repeatedly until you see the icon for the text editor.

  7. In the text editor, click your mouse at the bottom of the file.

  8. Press command + V to paste from the Clipboard.

  9. Save the file using the command expected by the editor you’re using.

    For Nano, press control + W.

    Update Terminal

  10. Open a new Terminal instance, which loads the new version of bash_profile.

    Try sbp alias for Mac

  11. Instead of typing out source ~/.bash_profile, type:

    sbp

    This invokes the alias defined:

    This command just returns another prompt.

    Edit aliases

    You can delete the aliases you want or add others, then save the file again.

  12. Switch back and forth between the text editor and
  13. Remember to source the file or open a new window.

  14. Skip to create Git container.

Windows Git Bash

  1. Click the Windows icon at the lower-left corner of your Desktop.
  2. Type “Git”. If you see Git Bash, you likely used choco install git to install Git.

    Alternately, you would need to add a folder and edit the Path system environment variable.

  3. PROTIP: Right-click on “Git Bash” and select “Pin to taskbar” so it can be accessed quickly in the future.
  4. Open Notepad: click the Windows search icon, type no and click on Notepad in the list that appears.Alternately, you can use another text editor (such as Visual Studio Code).
  5. Highlight and press Ctrl+C to copy the following to your Clipboard.

    TODO: Figure out a replacement for this:

  6. Click Notepad menu File > Save As.
  7. Save to C:Program FilesGitcmd
  8. For File Name, type .bashrc.
  9. To the right or “Save as Type” click on “Text Documents (*.txt)” and select All files (*.*).

    This is so Windows does not automatically add “.txt” to the file name.

  10. Click Save.

    Container for Git cloning

    Git commands need a GitHub repository to work with. So you’re welcome to my git-utilities repo, which has some commands you may like.

    PROTIP: Setup a container directory to house (group together) repositories you clone from GitHub. This is because cloning creates only the repository name and not the user. Although the author can be found with a git remote -v command, you may want a way to put several repos for the same folder together, or additional related files such as pdf’s and website links.

  11. On Mac: Open a Terminal window
    On Windows, click on the Windows or Search icon, then type Po and right-click “Windows PowerShell” to select “Run as Admistrator. Click Yes to allow.
  12. Begin from your user account’s home page. On Mac or Windows PowerShell:

    cd ~

  13. Create a folder to house your development projects:

    mkdir gits && cd gits

    PROTIP: Instead of gits, some use dev or Sites or Projects to house related software development work, separate from other folders such as “Desktop” and “Document” under your MacOS user account folder.

    Here you can put various files related to Git, such as tutorial PDFs. However, some prefer to put such files in the .git folder that the Git client installer creates under your user home folder. That is a different folder than the .git folder created for each repository cloned.

  14. PROTIP: Create a folder representing the GitHub account to house new websites to be created (substituting “wilsonmar” with your GitHub user name):

    mkdir wilsonmar

  15. Only on MacOS, set permissions to write to the new folder. The $USER subsitute your own user name:

    sudo chown -R $USER wilsonmar
    sudo chmod -R +rwx wilsonmar

    Type in your password when prompted.

  16. Navigate into the containing folder where a new directory will be automatically built by git clone commands:

    cd wilsonmar

    Fork and/or Clone git-utilities

  17. Install a Git client if you have not already.
  18. Open another Terminal instance.
  19. Clone:

    git clone https://github.com/wilsonmar/git-utilities --depth=1

    The depth=1 argument specifies to obtain only the latest commits for each object, thus not obtaining prior history.

    Alternately, if you intend on making changes, on GitHub Fork the repo to your own account, then clone the repo under your own account.

  20. Navigate into the new repo (type cd and press Tab for auto-complete):

    cd git-utilities

Try aliases

Try the aliases defined above for MacOS and Windows:

  1. Instead of typing out git status, type:

    gs

    This invokes the alias defined:

    If there has been no changes, the output is:

  2. Instead of typing out git branch -avv, type:

    gb

    This invokes the alias defined:

    A sample response:

    [Return to git-flow]

  3. Instead of typing out git log, type:

    gl

    This invokes the alias defined:

    A sample response:

    [Return to git-flow]

  4. Instead of typing out git add . -A;git commit -m'Update';git push, type:

    gbs

    This invokes the alias defined:

    [Return to git-flow]

  5. Instead of typing out git add and git commit for a single commit, type:

    This invokes the alias defined:

    PROTIP: Time saved using this can be huge because this reduces the “friction” to make small incremental changes.

    [Return to git-flow]

  6. Instead of typing out git fetch upstream and git checkout master, type:

    This invokes the alias defined:

    PROTIP: Time saved using this can be huge because this reduces the “friction” to make small incremental changes.

    [Return to git-flow]

    Backup!

  7. When you’re done, save the file again and exit the program using the command expected by the editor you’re using.

    For Nano, press control + X to exit the program.

  8. PROTIP: So that you can recover quickly in case your laptop is no longer available, copy the ~/.bash_profile file to an off-site backup location such as drive.google.com, in a folder called “mac-setup” or whatever you prefer.

Windows Doskey

The Windows equivalant of the alias command on Mac is:

doskey macroName=macroDefinition

Windows Macro parameters are referenced in the definition via $ prefixed positions: $1 through $9 and $* for all.

set “cdMe=cd some_path

Usage (from command line or script)

%cdMe%

Download Git Bash For Mac

See https://superuser.com/questions/560519/how-to-set-an-alias-in-windows-command-line

https://technet.microsoft.com/en-us/library/bb490894.aspx

PROTIP: Many Windows users are limited to save files only in their own user folder. So we’ll go with that limitation.

  1. Navigate

    cd C:Users%USERNAME%

  2. Create:

    mkdir gits

    .bashrc file

More

This is one of a series on Git and GitHub:

Please enable JavaScript to view the comments powered by Disqus.

Git Bash For Macos

Git comes with built-in GUI tools for committing (git-gui) and browsing (gitk), but there are several third-party tools for users looking for platform-specific experience.

Mac

If you want to add another GUI tool to this list, just follow the instructions.

Git Bash For Mac

Git Bash Mac Open

  • SourceTree

    Platforms: Mac, Windows
    Price: Free
    License: Proprietary

  • GitHub Desktop

    Platforms: Mac, Windows
    Price: Free
    License: MIT

  • TortoiseGit

    Platforms: Windows
    Price: Free
    License: GNU GPL

  • Git Extensions

    Platforms: Linux, Mac, Windows
    Price: Free
    License: GNU GPL

  • GitKraken

    Platforms: Linux, Mac, Windows
    Price: Free / $29 / $49
    License: Proprietary

  • SmartGit

    Platforms: Linux, Mac, Windows
    Price: $79/user / Free for non-commercial use
    License: Proprietary

  • Tower

    Platforms: Mac, Windows
    Price: $79/user (Free 30 day trial)
    License: Proprietary

  • GitUp

    Platforms: Mac
    Price: Free
    License: GNU GPL

  • GitEye

    Platforms: Linux, Mac, Windows
    Price: Free
    License: Proprietary

  • gitg

    Platforms: Linux, Windows
    Price: Free
    License: GNU GPL

  • ungit

    Platforms: Linux, Mac, Windows
    Price: Free
    License: MIT

  • git-cola

    Platforms: Linux, Mac, Windows
    Price: Free
    License: GNU GPL

  • Cycligent Git Tool

    Platforms: Linux, Mac, Windows
    Price: Free
    License: Proprietary

  • giggle

    Platforms: Linux
    Price: Free
    License: GNU GPL

  • Gitbox

    Platforms: Mac
    Price: $14.99
    License: Proprietary

  • Aurees

    Platforms: Linux, Mac, Windows
    Price: Free
    License: Proprietary

  • Fork

    Platforms: Mac, Windows
    Price: Free
    License: Proprietary

  • Working Copy

    Platforms: iOS
    Price: Free with in-app purchases
    License: Proprietary

  • CodeReview

    Platforms: Linux, Mac, Windows
    Price: Free
    License: GNU GPL

  • gmaster

    Platforms: Windows
    Price: Beta / Free for non-commercial use
    License: Proprietary

  • Git2Go

    Platforms: iOS
    Price: Free with in-app purchases
    License: Proprietary

  • GitAhead

    Platforms: Linux, Mac, Windows
    Price: Free
    License: MIT

  • Pocket Git

    Platforms: Android
    Price: 1.99€
    License: Proprietary

  • GitDrive

    Platforms: iOS
    Price: Free with in-app purchases
    License: Proprietary

  • GitX-dev

    Platforms: Mac
    Price: Free
    License: GNU GPL

  • GitBlade

    Platforms: Linux, Mac, Windows
    Price: Free Lite version, $59.99/user/year for PRO version
    License: Proprietary

  • Guitar

    Platforms: Linux, Mac, Windows
    Price: Free
    License: GNU GPL

  • RepoZ

    Platforms: Mac, Windows
    Price: Free
    License: MIT

  • GitAtomic

    Platforms: Windows
    Price: 15.00€
    License: Proprietary

  • Sublime Merge

    Platforms: Linux, Mac, Windows
    Price: $99/user, $75 annual business sub, free eval
    License: Proprietary

  • SnailGit

    Platforms: Mac
    Price: $9.99 / Lite version
    License: Proprietary

  • GitFinder

    Platforms: Mac
    Price: $24.95
    License: Proprietary

  • Gitfox

    Platforms: Mac
    Price: 29€/user
    License: Proprietary

  • NitroGit

    Platforms: Windows
    Price: 20€/user / Free for non-commercial use
    License: Proprietary

  • GitFiend

    Platforms: Linux, Mac, Windows
    Price: Free
    License: Proprietary

Download Git Mac

There are other great GUI tools available as well. Have a look at the list of interfaces, frontends and tools in the Git Wiki.