Git Extensions: Squash commits?

There are multiple ways of doing a squash. Here’s how you can easily squash the current and all its immediate parent commits into a single commit in Git Extensions: Right click on a commit you wish to squash to and select “Reset the current branch to here” Select either “Soft reset” (retain staged files) or … Read more

How do I use Git Extensions with a Bitbucket repository?

I haven’t fully tested it, but these steps allowed me to clone a Bitbucket repository in Git Extensions. You can use PuTTY to generate a public/private SSH key, then add that key to Bitbucket. Run GitExtensions\PuTTY\puttygen.exe Click Generate Click Save public key (as a text file) Click Save private key (as a ppk file) Run … Read more

TortoiseGit vs Git Extensions

I don’t know GitExtensions, but I can share my experience with TortoiseGit (alluded to by marc_s’s comment): Pros: Excellent integration with Windows (it’s a shell extension) Nearly the same UI as TortoiseSVN (if you already used TortoiseSVN, you know what to expect). Cons: You will have a hard time understanding how to use git. The … Read more

What is a Tracking Reference?

The basic idea is that there are purely local references (e.g., branches, tags), and then there are remote tracking references, which follow what happens in other repos. Because Git is decentralized, it is possible for you to choose a name for a branch that is the same as one used in a remote, without having … Read more

What is Git pruning?

“Prune remote branches” in Git Extensions executes git remote prune command, which removes your local remote tracking branches where the branch no longer exists on the remote. See here: https://git-scm.com/docs/git-remote#Documentation/git-remote.txt-empruneem Deletes stale references associated with <name>. By default, stale remote-tracking branches under <name> are deleted, but depending on global configuration and the configuration of the … Read more

What’s the difference between “squash” and “fixup” in Git/Git Extension?

I do not know what Git Extensions does with it specifically, but git rebase has an option to automatically squash or fixup commits with squash! or fixup! prefixes, respectively: –autosquash, –no-autosquash When the commit log message begins with “squash! …” (or “fixup! …”), and there is a commit whose title begins with the same …, … Read more

Git Extensions: Win32 error 487: Couldn’t reserve space for cygwin’s heap, Win32 error 0

I had the same problem. I found solution here http://jakob.engbloms.se/archives/1403 c:\msysgit\bin>rebase.exe -b 0x50000000 msys-1.0.dll For me solution was slightly different. It was C:\Program Files (x86)\Git\bin>rebase.exe -b 0x50000000 msys-1.0.dll Before you rebase dlls, you should make sure it is not in use: tasklist /m msys-1.0.dll And make a backup: copy msys-1.0.dll msys-1.0.dll.bak If the rebase command … Read more

How can I save username and password in Git?

Attention: This method saves the credentials in plaintext on your PC’s disk. Everyone on your computer can access it, e.g. malicious NPM modules. Run git config –global credential.helper store then git pull provide a username and password and those details will then be remembered later. The credentials are stored in a file on the disk, … Read more