diff --git a/changes/bug30840 b/changes/bug30840
new file mode 100644
index 0000000000000000000000000000000000000000..562b0fbd93cf762ec275c0da9dcfa1edfefaea2c
--- /dev/null
+++ b/changes/bug30840
@@ -0,0 +1,4 @@
+  o Minor bugfixes (git scripts):
+    - Stop hard-coding the bash path in the git scripts. Some OSes don't
+      have bash in /usr/bin, others have an ancient bash at this path.
+      Fixes bug 30840; bugfix on 0.4.0.1-alpha.
diff --git a/changes/bug30841 b/changes/bug30841
new file mode 100644
index 0000000000000000000000000000000000000000..c6d1c514693870e531bd60b42894cd7320302f1f
--- /dev/null
+++ b/changes/bug30841
@@ -0,0 +1,3 @@
+  o Minor bugfixes (git scripts):
+    - Stop hard-coding the tor master branch name and worktree path in the
+      git scripts. Fixes bug 30841; bugfix on 0.4.0.1-alpha.
diff --git a/scripts/git/git-merge-forward.sh b/scripts/git/git-merge-forward.sh
index 15af6f3dba0b813f49547f5621814a795765a5d2..ba29983284d7b8399880ebeb0777754d6ab86767 100755
--- a/scripts/git/git-merge-forward.sh
+++ b/scripts/git/git-merge-forward.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 ##############################
 # Configuration (change me!) #
@@ -17,9 +17,9 @@
 GIT_PATH=${TOR_FULL_GIT_PATH:-"FULL_PATH_TO_GIT_REPOSITORY_DIRECTORY"}
 # The tor master git repository directory from which all the worktree have
 # been created.
-TOR_MASTER_NAME="tor"
+TOR_MASTER_NAME=${TOR_MASTER_NAME:-"tor"}
 # The worktrees location (directory).
-TOR_WKT_NAME="tor-wkt"
+TOR_WKT_NAME=${TOR_WKT_NAME:-"tor-wkt"}
 
 #########################
 # End of configuration. #
diff --git a/scripts/git/git-pull-all.sh b/scripts/git/git-pull-all.sh
index 6fe7e5981209a4b3e133c35a1b78ea8b1872892b..8eb42c7c1839caae4b09a4df1553042b879b076e 100755
--- a/scripts/git/git-pull-all.sh
+++ b/scripts/git/git-pull-all.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 ##################################
 # User configuration (change me) #
@@ -17,9 +17,9 @@
 GIT_PATH=${TOR_FULL_GIT_PATH:-"FULL_PATH_TO_GIT_REPOSITORY_DIRECTORY"}
 # The tor master git repository directory from which all the worktree have
 # been created.
-TOR_MASTER_NAME="tor"
+TOR_MASTER_NAME=${TOR_MASTER_NAME:-"tor"}
 # The worktrees location (directory).
-TOR_WKT_NAME="tor-wkt"
+TOR_WKT_NAME=${TOR_WKT_NAME:-"tor-wkt"}
 
 #########################
 # End of configuration. #
diff --git a/scripts/git/git-push-all.sh b/scripts/git/git-push-all.sh
index 0701b27b5988ee658e595c80a508fe59d1495fb9..2030a600ff47ab3bfe96228bc8e6020cb4d418c9 100755
--- a/scripts/git/git-push-all.sh
+++ b/scripts/git/git-push-all.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # The remote upstream branch on which git.torproject.org/tor.git points to.
 UPSTREAM_BRANCH=${TOR_UPSTREAM_REMOTE_NAME:-"upstream"}
diff --git a/scripts/git/pre-commit.git-hook b/scripts/git/pre-commit.git-hook
index b285776c0494de2ffdc739822b9dd7a140f89f74..2a2983719818e3396a140e1eb67b4ceb45ab6fa5 100755
--- a/scripts/git/pre-commit.git-hook
+++ b/scripts/git/pre-commit.git-hook
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 #
 # To install this script, copy it to .git/hooks/pre-commit in local copy of
 # tor git repo and make sure it has permission to execute.
diff --git a/scripts/git/pre-push.git-hook b/scripts/git/pre-push.git-hook
index c9e72a4d43e3932c544135b3dc19200b700a2893..51b0c896c8de57c9b1dd29e8cb27c216c23df3c6 100755
--- a/scripts/git/pre-push.git-hook
+++ b/scripts/git/pre-push.git-hook
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # git pre-push hook script to:
 # 1) prevent "fixup!" and "squash!" commit from ending up in master, release-*