Tips and tricks

Have a External .git Folder outside your main directory
Posted on May 22 2025 / in WordPress
If you want an external .git directory you can create one:
mkdir {{GIT_TARGET_FOLDER}}/.git
If you need it to be ignored by Dropbox:
xattr -w com.dropbox.ignored 1 {{GIT_TARGET_FOLDER}}/.git
xattr -w 'com.apple.fileprovider.ignore#P' 1 {{GIT_TARGET_FOLDER}}/.git
Initialize .git
git --git-dir={{GIT_TARGET_FOLDER}}/.git \
--work-tree={{REPO_FOLDER}} \
init
Add a alias in .zshrc or bash profile:
alias gitwpdzsap='git --git-dir={{GIT_TARGET_FOLDER}}/.git --work-tree={{REPO_FOLDER}}'
Then you can use it as
gitwpdzsap add -A
If you need it for PhpStorm IntelliJ to detect it ,
cd {{REPO_FOLDER}}
echo "gitdir: {{GIT_TARGET_FOLDER}}/.git" > .git
You can convert it to bash script too:
#!/bin/bash
# Prompt for folder path
read -p "Enter the full folder path: " FOLDER_PATH
# Expand ~ to full path
FOLDER_PATH="${FOLDER_PATH/#\~/$HOME}"
NODE_MODULES="$FOLDER_PATH/node_modules"
GIT_FOLDER="$FOLDER_PATH/.git"
# Create folders
mkdir -p "$NODE_MODULES"
mkdir -p "$GIT_FOLDER"
# Set extended attributes to hide from Apple File Provider (and Dropbox indirectly)
# xattr -w 'com.apple.fileprovider.ignore#P' 1 "$NODE_MODULES"
# xattr -w 'com.apple.fileprovider.ignore#P' 1 "$GIT_FOLDER"
xattr -w 'com.dropbox.ignored' 1 "$NODE_MODULES"
xattr -w 'com.dropbox.ignored' 1 "$GIT_FOLDER"
echo "Done. The following folders are now ignored:"
echo " - $NODE_MODULES"
echo " - $GIT_FOLDER"