===== Install additional software in git bash =====
==== Install rsync 3.1.3-1 into a non standard directory ====
This installs rsync 3.1.3-1 into /opt/software/rsync .
Download the software
mkdir -p ~/x/software
cd ~/x/software
curl https://mirrors.huaweicloud.com/repository/msys2/msys/x86_64/rsync-3.1.3-1-x86_64.pkg.tar.xz --output rsync-3.1.3-1-x86_64.pkg.tar.xz
Install the software
mkdir -p /opt/software/rsync
tar xJvf rsync-3.1.3-1-x86_64.pkg.tar.xz -C /opt/software/rsync
Update the PATH
Add the following lines to ~/.bashrc
# For rsync
export PATH=/opt/software/rsync/usr/bin:$PATH
Ref:-
* http://repo.msys2.org/msys/x86_64/rsync-3.1.3-1-x86_64.pkg.tar.xz - old link; does not work anymore.
===== dummy =====
==== how to end stdin ====
Use ctrl+z.
In general, ctrl+z is used to send EOF in Windows and ctrl+d in Linux.
Ref:- https://stackoverflow.com/questions/15673120/how-can-i-signal-eof-to-close-stdin-under-the-git-bash-terminal-on-windows-ctrl
==== minimum recommended version ====
* github recommends >= 2.29 for caching github credentials (https://docs.github.com/en/get-started/getting-started-with-git/caching-your-github-credentials-in-git). It is the first version offering OAuth support for GitHub.
==== links I came across ====
* https://gitforwindows.org/
* Is this same as getting 'git bash' terminal?
==== find out whether a terminal is cygwin or git bash ====
uname -s | cut -f 1 -d '-'
^ terminal ^ output ^
| git bash | MINGW64_NT |
| cygwin | CYGWIN_NT |
Sample shell script snippet:
terminal_type=`uname -s | cut -f 1 -d '-'`
if [ "$terminal_type" = "CYGWIN_NT" ]; then
echo "Using cygwin terminal"
elif [ "$terminal_type" = "MINGW64_NT" ]; then
echo "Using git bash terminal"
else
echo "Using unknown terminal"
fi
See also:
* https://github.com/KamarajuKusumanchi/sampleusage/blob/master/bash/compare_strings.sh - shell script snippet to branch off code based on terminal type.
* https://stackoverflow.com/questions/3466166/how-to-check-if-running-in-cygwin-mac-or-linux
==== ask for git credentials again ====
git push -v
Ref:- https://stackoverflow.com/questions/14643308/how-can-i-force-user-and-password-prompt-when-pushing-to-my-git-repository - suggests to use "git pull -v". But in my case, I was trying to push my code out and wanted git to ask me for new credentials. So I tried 'git push -v' and it worked.
tags | update github token in git bash, git config personal token
==== copy the contents of a file to clipboard ====
| clip
Sample commands:
git status | clip
cat | clip
The clip command just calls clip.exe from C:\Windows\System32\. Make sure you have clip.exe installed somewhere in your PATH.
Ref: https://stackoverflow.com/questions/18880062/piping-output-from-git-bash-to-clipboard