Elena' s AI Blog

Git

Live Design Testing with GitHub Pages and a Custom Domain


Want to preview two completely different blog designs at domain.com/test1 and domain.com/test2 while keeping your main blog running perfectly? Here is how to do it with two extra GitHub repositories — no downtime, no risk.

Testing Blog Designs with Git Branches and GitHub Pages


Did you know you can publish different versions of your GitHub Pages blog on separate branches and preview them live before committing to a design? Here is how I do it.

How to Host Your Blog for Free with GitHub Pages


GitHub Pages lets you host a blog for free, with your own custom domain, no servers to manage, and no hosting bill at the end of the month. Here is everything you need to go from zero to published.

Git Cherry-Pick: The Surgeon's Knife


merging takes everything. Rebase rewrites everything. But sometimes, you just want that ONE bug fix from the development branch applied to production. That's where git cherry-pick comes in.

Type Less, Do More: My Top 10 Git Aliases


If you type 'git checkout' fifty times a day, you're wasting time. In this post, I share my personal list of Git aliases that help me work faster and smarter.

Git Hooks: The Robot Butler for Your Code


Why remember to run tests when a robot can do it for you? In this post, I explain Git Hooks and how to set up simple automations that ensure you never commit broken code again.

Stop Committing Garbage: A Masterclass in .gitignore


A clean repository is a happy repository. In this post, I dive into how to use .gitignore effectively to prevent system files, secrets, and dependencies from polluting your project history.

Git Stash: The CTRL-Z for Your Working Directory


Ever needed to switch branches but your current work wasn't ready to commit? Enter Git Stash—the temporary clipboard for your code changes. In this post, I explain how to stash, pop, and manage your work-in-progress efficiently.

Should you use rebase?


Rebase isn't safer than merge—it's cleaner. Learn when to use Git rebase, how to avoid destroying your team's history, and the disaster recovery commands to undo your mistakes.

I have cloned my git repository and landed on main. How to get your branch


Cloning a repository defaults to the main branch, often leaving developers confused about how to access remote development branches. Here is the architectural reason why, and the two-second command to fix it.

Git Log


The git log command allows you to view your project's history by listing commits with their authors, dates, and messages. It's essential for debugging, tracking changes, and understanding your project's evolution. It is indeed my favourite Git command.

Storing Your Local Project to GitHub


This post shows you how to create a Git repository for your local (Python) project and push it to GitHub using the command line and a personal access token. Following these steps, you can securely host your code on GitHub for easy access and collaboration.

Git Checkout for overwriting directories from different branches


To overwrite the "scripts" directory in the master branch with the files from the "scripts" directory of the "dev" branch, you can use the Git checkout command. Just be cautious, as this will completely replace the files in the destination branch.

Git Remotes


This post is about managing remote repositories in Git. We explore tasks such as adding, renaming, removing remotes, and updating remote URLs. We also practice fetching, pulling, and pushing changes to and from remote repositories.

Restoring deleted files in Git


A late-night Wi-Fi glitch wiped a folder of images from my Git repository. Here is exactly how I got them back—and what I learned about navigating Git history along the way.

Preserve your local changes on Git Pull


When we get the Git error on pull - your local changes to the following files would be overwritten by merge - it means that you have some uncommitted changes in the working directory. Git cannot perform the merge operation because those changes would be lost or overwritten during the merge process. Read some good solutions to resolve this error while keeping local changes.

Leveraging Git Tags


Git tags are useful for marking specific points in a repository's history, such as release points or important milestones. They provide a way to easily reference and access specific versions of your codebase. Let's dive deeper into the details of working with Git tags.

Git Failed to Push Some Refs


I was away from my big MAC computer and did some repository updates using my laptop. When arriving back, I could not push an update from my big MAC computer. Git updates were rejected because my current branch is behind. That happens quite often when we should integrate the remote changes before pushing git updates. Herein I am sharing possible solutions in detail.

The Token Way to GitHub Security


In this brief post I describe the setup and usage of GitHub personal access tokens.

The SSH host key mystery


What do you call a developer who's afraid of the dark? A Git-in-the-middle attacker! But seriously, if you've ever seen a warning message about a changed SSH host key while pushing code changes, don't panic - it might just be a legitimate update. To fix the issue, simply delete the saved RSA key fingerprint and let the SSH client verify the new one. And remember, always keep an eye out for those pesky man-in-the-middle attackers lurking in the shadows! You can learn how to create and use SSH keys, explained so simply in this post.

Git Commands and a Contribution Workflow


I have created a list of arguably the most useful Git commands and an example contribution workflow. I have also found a great JavaScript application for learning Git branching!

Linters and Git Pre-commit


It's great to focus on code development while keeping the coding style right. This could be achieved with automatic formatting checks before committing files into the code repository. In this post, I have described the pre-commit usage with git hooks and a simple setup for checking Python files.

Reverting Commits in GitHub


This post is about reverting your changes in GitHub. Sometimes it's good to step back and think about something different, right? With the use of git reset, revert and rebase we can remove changes from commits or even history.

Collaboration in GitHub


In this post, I have covered GitHub collaboration when working with other team members. Git branching, forking, pull requests, and issues were briefly explained.

GitHub Codespaces


GitHub codespaces provide a development environment running in the cloud. A codespace environment is created with the help of configuration files added to a GitHub repository.

GIT in 10 minutes


Version control systems are handy to keep track of file versions. This is useful for tracking your code, scripts and text information. Currently, GIT is one of the best open-source and cross-platform version control solutions. It enables distributed repository management; it works fast over HTTP and ssh protocols. GIT is relatively easy to use, with command-line utility or Graphical User Interface.