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.
- Click the blue Finder icon at the left side of the Launch bar at the bottom of the screen.
- Click Go on the menu or press at the same time shift + command + A keys.
Scroll down to click the click the Utilities folder.
PROTIP: Drag the Terminal icon and drop it on the Launchbar so it’s easier to find in the future.
Click the Terminal icon to open it.
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.
Read about features not in the default program:
To download and use it:
- Open a Terminal (as shown above).
- Install Homebrew.
Use Homebrew to download
brew install -g iterm2
Open a Finder and Go to Applications. Scroll to click iTerm2.
PROTIP: Drag the Terminal2 icon and drop it on the Launchbar so it’s easier to find in the future.
Read its documentation:
Edit .bash_profile on Mac
- Install a text editor you want to use.
Open a Terminal window.
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.
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:Highlight these lines, then press command+C to copy it your machine’s (invisible) Clipboard:
Switch programs
Press command+Tab repeatedly until you see the icon for the text editor.
In the text editor, click your mouse at the bottom of the file.
Press command + V to paste from the Clipboard.
Save the file using the command expected by the editor you’re using.
For Nano, press control + W.
Update Terminal
Open a new Terminal instance, which loads the new version of bash_profile.
Try sbp alias for Mac
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.
- Switch back and forth between the text editor and
Remember to source the file or open a new window.
- Skip to create Git container.
Windows Git Bash
- Click the Windows icon at the lower-left corner of your Desktop.
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.
- PROTIP: Right-click on “Git Bash” and select “Pin to taskbar” so it can be accessed quickly in the future.
- 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).
Highlight and press Ctrl+C to copy the following to your Clipboard.
TODO: Figure out a replacement for this:
- Click Notepad menu File > Save As.
- Save to
C:Program FilesGitcmd
- For File Name, type
.bashrc
. 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.
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.- 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. Begin from your user account’s home page. On Mac or Windows PowerShell:
cd ~
Create a folder to house your development projects:
mkdir gits && cd gits
PROTIP: Instead of
gits
, some usedev
orSites
orProjects
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.PROTIP: Create a folder representing the GitHub account to house new websites to be created (substituting “wilsonmar” with your GitHub user name):
mkdir wilsonmar
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 wilsonmarType in your password when prompted.
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
- Install a Git client if you have not already.
- Open another Terminal instance.
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.
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:
Instead of typing out
git status
, type:gs
This invokes the alias defined:
If there has been no changes, the output is:
Instead of typing out
git branch -avv
, type:gb
This invokes the alias defined:
A sample response:
[Return to git-flow]
Instead of typing out
git log
, type:gl
This invokes the alias defined:
A sample response:
[Return to git-flow]
Instead of typing out
git add . -A;git commit -m'Update';git push
, type:gbs
This invokes the alias defined:
[Return to git-flow]
Instead of typing out
git add
andgit 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]
Instead of typing out
git fetch upstream
andgit 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!
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.
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.
Navigate
cd C:Users%USERNAME%
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.
If you want to add another GUI tool to this list, just follow the instructions.
Git Bash Mac Open
SourceTree
Platforms: Mac, Windows
Price: Free
License: ProprietaryGitHub Desktop
Platforms: Mac, Windows
Price: Free
License: MITTortoiseGit
Platforms: Windows
Price: Free
License: GNU GPLGit Extensions
Platforms: Linux, Mac, Windows
Price: Free
License: GNU GPLGitKraken
Platforms: Linux, Mac, Windows
Price: Free / $29 / $49
License: ProprietarySmartGit
Platforms: Linux, Mac, Windows
Price: $79/user / Free for non-commercial use
License: ProprietaryTower
Platforms: Mac, Windows
Price: $79/user (Free 30 day trial)
License: ProprietaryGitUp
Platforms: Mac
Price: Free
License: GNU GPLGitEye
Platforms: Linux, Mac, Windows
Price: Free
License: Proprietarygitg
Platforms: Linux, Windows
Price: Free
License: GNU GPLungit
Platforms: Linux, Mac, Windows
Price: Free
License: MITgit-cola
Platforms: Linux, Mac, Windows
Price: Free
License: GNU GPLCycligent Git Tool
Platforms: Linux, Mac, Windows
Price: Free
License: Proprietarygiggle
Platforms: Linux
Price: Free
License: GNU GPLGitbox
Platforms: Mac
Price: $14.99
License: ProprietaryAurees
Platforms: Linux, Mac, Windows
Price: Free
License: ProprietaryFork
Platforms: Mac, Windows
Price: Free
License: ProprietaryWorking Copy
Platforms: iOS
Price: Free with in-app purchases
License: ProprietaryCodeReview
Platforms: Linux, Mac, Windows
Price: Free
License: GNU GPLgmaster
Platforms: Windows
Price: Beta / Free for non-commercial use
License: ProprietaryGit2Go
Platforms: iOS
Price: Free with in-app purchases
License: ProprietaryGitAhead
Platforms: Linux, Mac, Windows
Price: Free
License: MITPocket Git
Platforms: Android
Price: 1.99€
License: ProprietaryGitDrive
Platforms: iOS
Price: Free with in-app purchases
License: ProprietaryGitX-dev
Platforms: Mac
Price: Free
License: GNU GPLGitBlade
Platforms: Linux, Mac, Windows
Price: Free Lite version, $59.99/user/year for PRO version
License: ProprietaryGuitar
Platforms: Linux, Mac, Windows
Price: Free
License: GNU GPLRepoZ
Platforms: Mac, Windows
Price: Free
License: MITGitAtomic
Platforms: Windows
Price: 15.00€
License: ProprietarySublime Merge
Platforms: Linux, Mac, Windows
Price: $99/user, $75 annual business sub, free eval
License: ProprietarySnailGit
Platforms: Mac
Price: $9.99 / Lite version
License: ProprietaryGitFinder
Platforms: Mac
Price: $24.95
License: ProprietaryGitfox
Platforms: Mac
Price: 29€/user
License: ProprietaryNitroGit
Platforms: Windows
Price: 20€/user / Free for non-commercial use
License: ProprietaryGitFiend
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.