Posts

"Unpushed" from Git remote branch

✅ SAFE (Recommended): Revert the pushed commit Find the commit you pushed git log --oneline Copy the commit hash (e.g. abc1234 ). Revert that commit git revert abc1234 Git creates a new commit that undoes the changes. If multiple commits: git revert abc1234..HEAD Push the revert git push ✅ Best practice for shared branches ⚠️ DANGEROUS (Only if you are 100% sure) Use this only if you are the only one working on the branch or it’s a personal feature branch: Reset and force-push git reset --hard HEAD~1 git push --force This will remove the commit locally and rewrite remote history ❌. If the pushed commit was a deletion and you want to restore a file: git checkout HEAD~1 -- path/to/file git commit -m "Restore accidentally deleted file" git push Which one should YOU use? Situation Command Shared branch git revert <commit> ...

Revert file from Git remote branch

You can revert just that single file from other remote branch without touching anything else. Option 1: Restore file from remote branch (recommended) git fetch origin git checkout origin/[remote_branch] -- file_path_in_GIT This will: Take the version of the file from remote origin/[remote_branch] Overwrite your local copy Leave you on your current branch Then commit it: git commit -m "Revert file from other branch" Option 2: If your local branch is already tracking the remote branch You can shorten it to: git checkout [remote_branch] -- file_path_in_GIT (Still followed by a commit.) Option 3: Using modern git restore (Git ≥ 2.23) git fetch origin git restore --source=origin/[remote_branch] -- file_path_in_GIT Then commit: git commit -m " Revert file from other branch" Verify before committing (optional but smart) git diff ⚠️ Notes This does not switch branches This does not affec...

Useful aliases

alias ll="ls -lah" alias branch="git branch" alias checkout="git checkout" commit() { echo "Enter commit message (Ctrl+D to finish):" msg=$(cat) git commit -m "$msg" } add() { # Ensure git repo git rev-parse --is-inside-work-tree >/dev/null 2>&1 || return 0 # Colors GREEN="\e[32m" RED="\e[31m" YELLOW="\e[33m" CYAN="\e[36m" BOLD="\e[1m" RESET="\e[0m" local current_branch remote_branch behind local files file answer local added_files=() local skipped_files=() local temp_ignored_files=() local existing_temp_ignored=() current_branch=$(git branch --show-current) # ---------- STEP 0: Check existing temp-ignore files ---------- mapfile -t existing_temp_ignored /dev/null 2>&1 || { echo -e "${RED}Fetch failed.${RESET}" return 1 } behind=$(git rev-list --count HEAD.."$remote_branch" ...

Start all Docker containers

To start (bring up) all existing Docker containers , use this: docker start $(docker ps -aq) Explanation docker ps -aq → lists all containers (running or stopped) docker start → starts stopped containers If you are using Docker Compose From the directory with docker-compose.yml: docker compose up -d Or for multiple compose projects (containers already created): docker compose start Useful checks See all containers and their status: docker ps -a See only running containers: docker ps Common gotcha If you see access forbidden , it means: Image not pulled (private registry) Not logged in Login first: docker login Then retry: docker start $(docker ps -aq)  

Back up from Android to OneDrive with rclone

Backing up your Android device to OneDrive is easy using rclone . Even if your OneDrive account has two-factor authentication (2FA) , rclone works perfectly by authorizing once through a web browser. Step 1 — Install rclone in Termux pkg install rclone Step 2 — Configure OneDrive Run the following command: rclone config Answer the prompts as follows: New remote: n Name: onedrive Storage: OneDrive Client ID: press Enter Client Secret: press Enter Edit advanced config? n Use auto config? n (important on Android) After choosing No for auto config, rclone will show a long URL. Copy the URL Open it in your Android web browser Sign in to OneDrive and approve access Copy the verification code Paste it back into Termux Two-factor authentication works normally during this step. Step 3 — Test the OneDrive Connection rclone lsd onedrive: If your OneDrive folders appear, the setup is complete. Step 4 — Backup Using ...

Using NextDNS to block ad on Android

Here’s a full guide to understanding NextDNS — what it does, how to set it up on your Android device (and elsewhere), and tips to get the most out of it. What is NextDNS? NextDNS is a cloud-based DNS filtering and security service. According to its website, it: Blocks ads, trackers, malicious domains, phishing, cryptojacking and more. Works across all devices and networks (WiFi, mobile, public hotspots) Supports modern DNS encryption protocols (DNS-over-TLS, DNS-over-HTTPS) for better privacy. Provides customization: blocklists, allow-lists, content categories, parental controls, logging & analytics. In short: it works like a “smart hosts file + firewall” but at the DNS level, meaning you don’t need root or filesystem hacks. How to set up NextDNS on Android STEP 1 — Create your NextDNS profile Go to: https://my.nextdns.io Create an account (free) You will see a profile ID like: abcd12.dns.nextdns.io This ...

Run termux script using macrodroid

Running a Termux script from MacroDroid is best done using the Termux:Tasker plugin. Despite the name, this plugin works perfectly with MacroDroid. Prerequisite: The "F-Droid" Rule Critical: You must install both Termux and the Termux:Tasker plugin from F-Droid . If you installed Termux from the Google Play Store, it will not work because the Play Store version is outdated. Action: Uninstall the Play Store version and install the latest versions from F-Droid. Step 1: Set up the Termux Environment Open Termux. Create the mandatory folder for external scripts: mkdir -p ~/.termux/tasker Move your script to this folder (or create a new one there). Example: nano ~/.termux/tasker/myscript.sh Important: Make the script executable. chmod +x ~/.termux/ta...