This document is an attempt to be a fairly comprehensive guide to recovering from what you did not mean to do when using git. It isn’t that git is so complicated that you need a large document to take care of your particular problem, it is more that the set of things that you might have done is so large that different techniques are needed depending on exactly what you have done and what you want to have happen.
I had a problem pushing commits to Bitbucket inside Webstorm “no access” or similar error when trying to push.
I usually use Sourcetree together with Putty Pageant loaded with the putty specific SSH file format ppk. So the solution was to convert the private putty ppk file into OpenSSH file format using PuTTygen.
Then save that file into %userprofile%\.ssh\id_rsa
(id_rsa is the open ssh file name, no extension).
It made it possible for Webstorm to push to Bitbucket.
Follow these steps to convert from ppk to OpenSSH:
- Run the puTTygen program.
- Click Load.
- Select your private key that ends in .ppk and then click Open.
- Click the Conversions menu option.
- Click Export OpenSSH key.
For Windows 10 with Git Bash:
Edit file “%userprofile%\.bashrc”
Using Notepad++ or other text editor in Administrator mode.
Add another alias line beneath the present alias lines:
alias ls='ls --color=auto --show-control-chars -a -p --time-style=long-iso -h -X --group-directories-first'
alias ll='ls -l --color=auto --show-control-chars -a -p --time-style=long-iso -h -X --group-directories-first'
alias ngs='ng serve --open'
alias grep='grep -i -n --color=always'
alias log='git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue) <%an> %Creset' --abbrev-commit'
Above is an alias ngs for serving angular development server and open a web browser.
Instead of typing “ng serve –open” in Git bash window you should now be able to just use ngs as an shortcut alias.
There is a dropdown above the file list. If you switched it to “Modified” instead of “Pending”, it would only show tracked files that had changes.
Goto heading “Set up SSH with Sourcetree on Windows”‘
Source: Set up an SSH key – Atlassian Documentation
Also see this fix for getting PuTTY Pageant working with Visual Studio 2017 built-in GIT:
I finally managed to make it work, using PuTTY’s Pageant authentication agent instead of
ssh-agent, and following the steps mentioned here (it’s for Visual Studio Code, but works for Visual Studio 2017 and I guess it should work for any application that uses the “official” Git for Windows).
Since I already had Pageant installed and a .ppk private key created, I only had to make Git use Pageant, by creating the
GIT_SSH Windows environment variable and setting it to the path of the “plink.exe” file (inside the PuTTY installation, for example
C:\Program Files (x86)\PuTTY\plink.exe). With that done, I just need to open Pageant and add the private key (and leave it open while working with the repository), and Visual Studio will be able to connect and issue commands just fine.
Set up SSH with Sourcetree on Windows
E.g rename the branch mybranch to feature/mybranch will make it appear under the folder feature in Sourcetree.
I got this message ‘fatal: unable to access ‘\/.config/git/config’: Invalid argument’ when opening a GIT based solution in VS 2017.
Solution was to add an environment variable “HOME” with value “c:\” (c: or where your project folder resides).
Solution info here:
If you have a config file or something similar you change on your local computer but dont want it to get marked as “modified”.
Use this command:
git update-index --skip-worktree [filename]
If remote repo gets an update on that file you will get notified about this on a pull.
skip-worktree is useful when you instruct git not to touch a specific file ever. That is useful for an already tracked config file.
Upstream main repository hosts some production-ready config but you would like to change some settings in the config to be able to do some local testing. And you don’t want to accidentally check the changes in such file to affect the production config. In that case
skip-worktree makes perfect scene.
If you have skip-worktree on a file and the upstream changes, you get “please commit or stash” when you try to pull