How to squash Git commits already pushed to repository

If you have several commits and want to merge them (squash) into one, you can do that by squashing them, even if you already pushed them to your remote repository.

To do that, first you need to list your commits with the following command:

In the list, search for the last commit you want to merge with the others and take the one after it. For example, in the following result:

Tap  q to quit this view

I would like to merge from the first one until the “message 5” commit, then I will have to use the id from the commit “message 7” in the following command line to start a rebase:

This will open the editor, starting with the commits list, and followed by some commands you can use:

If you want, you can also rename your commits here like if you were doing an amend.

You will then have to replace the  pick commands by  squash commands (or s) for the lines you want to merge, except for the first one. When you’re finished, save the file  echap + ':wq'.

In some case, you will maybe have conflicts, you will have to resolve them before being able to continue. Don’t forget, after you’ve resolved them you need to do a  git rebase --continue .

Now, just finish by pushing this to your remote repository. If you already pushed those commits to your repository, you will have to force the push (option -f).

Read more on Git website: 7.6 Git Tools – Rewriting History

Git PublicKey denied on Mac OS X Sierra

If your Git publickey is denied to connect to your remote host (by pulling, pushing, etc.), first, check if you have actually an error to connect to your host:

If your SSH key is the issue, you should get this message:

Since Mac OS Sierra, the keychains are not autoloaded and must be explicitly called. So we will check if your keys are stored in the ssh-agent:

Verify in the list if you have your SSH key needed for your repository. If you don’t have any key, you will get this message:

To fix this issue, you will just have to add your SSH key in the ssh-agent with this command line:

A Reddit post on the subject with a permanent solution : difficulties with ssh-agent in macOS Sierra

Initialize Git repository

Looking for a way to initialize your Git repository for your project?

Here are the 3 methods with the command lines, depending on your situation:

Connect to a git repository and clone the project locally

Either you have already started developing your project or not, you can clone the git repository on your computer with those command lines:

Connect an existing folder to a git repository

If you started working on your computer and juste created your git repository, you can push your existing project to git with those command lines:

Git Global Setup

You can set up a global configuration for your git website with those command lines:

Customize and improve Terminal (Mac OS)

Today, I just wanted to share with you a simple way to customize your Terminal and improve its readability.

Color theme

First of all, I will recommand you to install a new theme for your Terminal. Of course, you can also customize it yourself, but there is already great themes available like this ones :

After choosing your theme, don’t forget to click on “Default” to enable this theme on every new Terminal window.

Font

The default font in Terminal is Andale Mono, which is a good font, but you could customize it. My favorite for this is Anonymous Pro, but of course you can choose your own, just be aware to choose a Monospace font.

Download Anonymous Pro

Increase size

Depending on the font you choose, you can increase its size, the way you like it. Personally, I choosed 14px for Anonymous Pro.

Bold fonts or antialias text

I would recommand you to check at least one of this two checkbox :

  • Use bold fonts
  • Antialias text

This will hightly improve the readability of your font, especially if your using a retina screen.

Improve the syntax coloration and ls command

We will change the syntax coloration of the Terminal and get something like this.

Customized Terminal screen
Customized Terminal screen

To do that, we will need to edit our .bash_profile file. To open this file, type this in your Terminal :

Or edit it directly with nano or vim.

Then, past this lines at the beginning of the file and save it.

That’s it, your ready to go! Open a new Terminal and start doing awesome stuff!

Source: OSXdaily

 

Check the weather in one command line

Are you using the Terminal (or any other command line tools) everyday ? npm, grunt, gulp, bower, etc. are your most written words ? Well then, you will be happy to know that you can now also check the weather in your favorite tool, with a simple command line:

Here is an example of the result:

Weather in the Terminal