Here is my kickstarter link collection, a collection of links to help you get applications, application features, build and test environments, up and running, smashing learning curves along the way with good demonstration.
The above changes the editor to Notepad++ for in the user’s global configuration.
Do not try to use MS Word or WordPad, the configuration needs to be in plain text. Use a UTF-8 without the UTF-8 BOM encoding for the text format.
Adjusting you PATH Environment
Choosing HTTPS Transport Backend
This sets the git http.sslBackend setting and this can changed later. The top radio sets the system value to openssl. The bottom radio sets this to schannel for using the Windows Certificate store. This options can always be changed on a system, per user, or per project basis later.
This option only needs to be set to schannel if custom SSL certificates are used for accessing remote repos using HTTPS.
It is advised to go with the default OpenSSL and only switch to the other on a per project basis when needed. You can always change this later.
Configuring the Line Ending Conversions
This sets the system Git core.autocrlf config option.
Configuring the Terminal Emulator To Use With Git Bash
The seconds option is not advised here. If you want to use Git from something other than a Bash shell, use the posh-git module from the PowerShell Gallery and use Git from PowerShell.
PowerShell with posh-git still does not work as well as Git-Bash. If you insist on using Git from cmd.exe, find a good therapist.
Configuring Extra Options
I’ve not had the need to use symbolic links in any of my Git project. If needed, this option can be set later by setting the Git core.symlinks to true. Remember to set the SeCreateSymbolicLink permission for the user accounts needing this.
Sometimes you may need to keep code in a Git repo, but don’t have a nice web based backend like GitHub available yet to push your source into. A workaround can be to start with a file based repo that you can later easily push to a backend when you have one available. While you won’t have the nice web based repository view associated with many of these backends, you at least get the full Git command line.
All you need is the Git command line client to get started. Windows users can get it from git-scm.com and then use the Git-Bash command line client to manage their Git repositories.
At the time of this writing, I was using the StefanScherer/windows_10 VM image for VirtualBox from Vagrant Cloud, hence the vagrant user in the example paths.
Linux users can install Git from their distro; using the Git-Bash console in Windows has the same look and feel as Linux users using Git from Bash.
$ mkdir-p ~/repos/my-project
$ cd ~/repos/my-project
$ git init--bare
For Windows 10 users, this created a directory in your home folder for the vagrant account C:\Users\vagrant\repos\my-project. Next, figure out where you want to checkout your code to.
git clone file:///c/Users/vagrant/repos/my-project
This gave us a checkout directory in C:\Users\vagrant\projects\my-project. You may get the “warning: You appear to have cloned an empty repository.” message, nothing wrong here as this is exactly what you just did.
In the directory where you cloned the empty repo, you add files from an existing project or create new ones, whatever- this is your development directory. Then when your are ready for your initial push:
You have just done your first push to your upstream file based repo in C:\Users\vagrant\repos\my-project. You work with it just like one cloned from a backend like GitHub.
Pushing To Remote Backend
When your backend is set up and you are ready to push to a remote repository, just create a new repository on your backend. Using the remote URL, push the bare file based repo as shown in the example below:
$ cd ~/repos/my-project
$ git firstname.lastname@example.org/someusername/my-project.git
The URI following –mirror will different, depending on where and what your backend is.
This is an opinionated approach to installing Python obtained from Python.org on Windows. Essentially, install per-user and keep Python out of the system or PATH environment variable. I’ll show you how to create some simple shortcuts to create Python console windows with your installed Python so you can easily used Python from the command line.
If you install Python on a Windows server used for something like builds or Flask websites and add Python to the PATH, you will quickly get stuck on a stale, aging, old Python version that can’t be updated because you (and everyone else) will be to busy and scared to worry about breaking existing apps on the machine.
Download and Run Setup
From the Python.org official Python site, then select Windows to view all download for Windows. Find the version you want, making sure you select a 64 bit version if that is what you want for a 64 bit machine.
Download the executable or web based installer for the version and bitness you want. For this example, the 64 bit 3.7.1 windows executable installer was used.
Running the install should show the following dialog:
Initial Setup Dialog
Make sure that Install launcher for all users (recommended) and Add Python 3.7 to PATH are both unchecked.
Click Customize Installation to get the next dialog shown below:
Make sure py launcher and for all users (requires elevation) are both unchecked.
Click Next to get the Advanced Options dialog.
Make sure that Install for all users and Customize install location are clear, and additionally, Associate files with Python (requires the py launcher) is unchecked and disabled.
Click Install to run the install.
Create Command Shortcut
I created a batch file, py37_env.cmd with the following contents.
TITLE Python.org 3.7
REM add Python executable to PATHset python_base=%LOCALAPPDATA%\Programs\Python\Python37
REM add Python executable and tools like pip.exe to PATHsetPATH=%PATH%;%python_base%;%python_base%\Scripts
REM switch to Unicode code pagechcp65001
I then create a shortcut to the batch file with the following for the shortcut properties:
Assuming the batch file is in %USERPROFILE%\Desktop\Toolbox I create a short cut with the following for Target:
Bamboo will call shell tasks on *nix agents using sh as opposed to Bash. For Debian agents, this means dash not bash. So, how do we redirect to bash? I found this snippet:
if [ “$(ps -p “$$” -o comm=)” != “bash” ]; then
# Taken from http://unix-linux.questionfor.info/q_unix-linux-programming_85038.html
echo “RUNNING THIS PUPPY THE RIGHT WAT”
bash “$0” “$@”
Alas, though, looks like the link I copied and pasted from the post does not work. Here’s the post I snagged this from.
I recently tried this to fix the Classpath in Gradle for compiling and testing. Works for compiling, bombs for the testing though. The Gradle plugin integration using jna-3.2.7 blows up during unit testing when the older API is not loaded. What a mess. At least this snippet should help for other scenarios.