AI Library
The Double Structure of Digital Sovereignty
Europe’s Departure from Palantir and the Chains of American Big Tech
Kim Kyung-jin, Attorney at Law
This is a record of 2026, when European intelligence agencies and defense ministries began removing analytics tools from America’s Palantir. It covers the replacement decisions made by France’s General Directorate for Internal Security (DGSI), Germany’s Federal Office for the Protection of the Constitution (BfV), and the Netherlands Ministry of Defense; the incident in which US export controls severed an ally’s ac…
New English Edition
Artificial Intelligence in Horticulture
Kim Kyung-jin, Attorney at Law
Across five chapters and ten sections, this book examines computer vision for crop diagnosis, harvesting robots and autonomous field systems, smart greenhouses and digital twins, precision irrigation and supply-chain quality control, high-throughput phenotyping, and predictive breeding.
New English Edition
Artificial Intelligence in Food Crop Agriculture
Kim Kyung-jin, Attorney at Law
Across six chapters and eighteen sections, the book examines digital agricultural infrastructure, remote sensing, crop diagnosis, yield forecasting, precision irrigation, genomics, molecular breeding, agricultural robotics, climate-smart agriculture, and global food security.
New English Edition
The Future of Forestry and Agroforestry
Kim Kyung-jin, Attorney at Law
Driven by Artificial Intelligence and Digital Innovation
Across five chapters and fifteen sections, the book follows satellites, drones, LiDAR, digital twins, forest-specific language models, wildfire and pest forecasting, forestry robotics, agroforestry, timber traceability, and forest carbon markets.
New English Edition
Smart Livestock Farming: AI Enters the Barn
Kim Kyung-jin, Attorney at Law
Sensors listen, cameras watch, and artificial intelligence helps farmers decide.
Across five chapters and fifteen sections, the book follows precision livestock farming from animal health and reproduction to robotic milking, virtual fencing, digital twins, methane reduction, welfare, and data ownership.
Table of Contents
Han Dong-hoon, Busan Buk-gu Gap: A Record of the 100 Days Before and After the Election (Mar. 26-Jul. 3, 2026)
Kim Kyung-jin
Table of Contents and 13 sections
From March 26 to July 3, 2026, this record follows the spring after expulsion, the Busan Buk-gu Gap by-election, victory as an independent, and the first bill submitted in the National Assembly.

Table of Contents
Artificial Intelligence and Medicine
Kim Kyung-jin, Attorney at Law
AI in clinical care, hospitals, education, and research
AI in medical imaging, risk prediction, treatment planning, hospital operations, education, and research, with patient safety, privacy, and accountability.
[AI Library] Chapter 14: Git and GitHub: Your Project's Time Machine
Mastering Claude Code
Chapter 14: Git and GitHub: Your Project's Time Machine
Kim Kyung-jin
Mastering Claude Code
Git's Core Concepts: Repository, Commit, Branch, Push, Pull, Merge
It's two in the morning, and something went wrong while modifying the hero section of a website. You tried to change the glow effect on a button and ended up breaking the entire layout. You want to go back to how it was three hours ago, but the code from that moment is nowhere to be found. No matter how many times you press Ctrl+Z, you cannot undo a file that has already been saved.
Git is a version control system created to solve this problem. It tracks all changes that happen to a project and lets you return to any point in time you want. It's similar to saving checkpoints in a video game. Each time you make a meaningful change, you can take a snapshot, and you can always rewind to that point.
Let's examine the core concepts that form the world of Git one by one.
A repository is a folder that Git watches. All the files in a project and the complete history of changes to those files are stored inside it. You can think of it like a bank account. Just as a bank account records not only the balance but all deposits and withdrawals, a repository preserves not only the current code but all the changes that came before.
A commit is a snapshot of a project at a specific moment. Each commit records what changed and why it changed. It's similar to pressing "Save" in a Word document, but there's a difference. Saving in Word overwrites the previous state, but committing in Git preserves the previous state and adds a new snapshot on top of it.
If you commit with the message "Add glow effect to hero button," you can later revert just this commit precisely.
A branch is a separate copy of a project, a space where you can experiment without affecting the main version. The primary branch is usually called main. If you create a branch called "feature-login," you are declaring that you will experiment with login functionality without touching the stable version.
Push is the act of sending changes from your computer to a remote repository. Commits that existed only on your computer now go up to the cloud.
Pull is the opposite. It brings the latest changes from the remote repository down to your computer.
Merge is the process of combining the changes from two branches into one. If your experiment was successful, you merge the experimental branch into the main branch to reflect the changes in the stable version.
The Railroad Track Metaphor: Protecting Stable Versions While Experimenting
Picture a train station. A train is running along the main track. This train is the currently operating stable version, or the main branch. Since it carries passengers, you cannot tear up the rails and lay new ones while the train is running.
What if you want to test a new route? You create a test track that branches off from the main line. This test track is exactly what a branch is. On the test track, you can experiment freely. You can change the angle of the rails or add new stations. The main line's train service is not affected at all.
When the test is finished and you're satisfied with the results, you merge the test track back into the main line. This is what merge means. At the junction where the two tracks meet, there must be a process to ensure there are no conflicts. If the main line was modified in the same section and the test track was also modified in the same section, someone must decide which version of the changes to keep.
Let's see how this metaphor applies to actual website development.
Let's say the website you created in the previous chapter has already been deployed and real users are visiting it. You want to make the button in the hero section more dynamic. If you modify the code in the main branch directly, there's a risk the site will break during the change. Instead, you create a branch called feature-dynamic-button and modify the button code inside it. You test it on your computer, and if the results look good, you merge it into the main branch.
Until you tell Claude Code "I like these changes, please push them to GitHub," the changes stay only in your local branch. The live site is not affected at all. This is the fundamental reason for using branches. It lets you protect what's stable while trying something new.
Worktree is a concept that takes this principle one step further. Normally in Git, you can only have one branch active in a folder. To switch to a different branch, you must save or commit your current work. With worktree, you can check out multiple branches from the same repository at the same time in different folders.
Claude Code has built-in commands for worktree, so you can quickly create isolated work spaces with the --worktree option.
You can run multiple Claude Code sessions at the same time, with each session developing a different feature. One session builds the payment page, another creates the signup form, and yet another modifies the dashboard. Since each session works in its own isolated branch and worktree, there's no risk of them overwriting each other's code. When the work is done, you simply merge each branch into main.
GitHub's Cloud Backup and Collaboration Features
Git is a tool that works on your computer. The history of changes is saved on your laptop's hard drive. If your laptop breaks, the commit history disappears with it. When working alone, your local Git is enough, but when working on a project with others, you need a place where you can share code.
GitHub is a service that hosts Git repositories in the cloud. If Git is the version control "tool," GitHub is the "place" where you store and share the projects managed by that tool. It's like uploading a Word document from your computer to Google Docs.
GitHub's core features are as follows.
Cloud backup: When you push your local repository to GitHub, the complete history of your code is replicated in the cloud. Even if your laptop breaks, you can retrieve the entire project from GitHub by cloning it.
Version history management: In GitHub's web interface, you can see all commits in chronological order. You can see at a glance which lines of which files changed, who changed them, and why. Earlier, when you created a commit with the message "Add glow pulse effect to hero button," clicking on that commit in GitHub shows you exactly what code changed, marked in green for additions and red for deletions.
Pull Request: A feature that lets you request review from others before merging changes from a branch into the main branch. It's a formal proposal that says, "Is it okay to merge this code into main?" When multiple people are working on the same project, it acts as a checkpoint to make sure each person's changes can merge together without conflicts.
Public and private settings: If you set a repository to public, anyone can see the code. If you set it to private, only invited people can access it. If your website code doesn't contain API keys or passwords, you can leave it public, but any project that contains sensitive information must be set to private.
There's one important thing to watch out for. When you push code to GitHub, be careful not to upload files that contain .env files or API keys. You can create a file called .gitignore to specify which files Git should not track.
If you ask Claude Code to "get this ready to push to GitHub," it usually generates a .gitignore file automatically. But it's a good habit to check once before pushing.
Basic Workflow: Create Repository → Clone → Branch → Commit → PR → Merge
Let's follow the entire process of actually using Git and GitHub from start to finish.
Step 1: Create a Repository on GitHub
Log in to GitHub and click the "New Repository" button. Set the name to "my-website." A description is optional. Choose public or private and then click "Create Repository." An empty repository is created.
You can also have Claude Code do this work. If you ask, "Create a GitHub repository named my-website and push the code from the current project," it handles everything from repository creation to the initial commit to pushing. However, you need GitHub authentication. You only need to log in to GitHub through the command line once, and authentication will be maintained automatically after that.
Step 2: Clone
If you're already developing a project on your computer, the clone step isn't necessary. On the other hand, if you need to continue work on a different computer, you clone the repository from GitHub and copy it to your computer. Cloning brings all the files in the repository and the complete history of changes to your computer in one go.
Step 3: Create a Branch and Work
When you add a new feature or change the design, you don't work directly on the main branch. You create a new branch and work inside it. Claude Code understands this convention and lets you request branch management in natural language.
Step 4: Commit
Commit whenever meaningful changes are made. Keep the purpose of the change concise in the commit message. Something like "Fixed hero section card alignment breaking" is more useful than "fix layout bug" when tracking history later.
Step 5: Push and Pull Request
Push the commits made on my computer to GitHub. Open a pull request on GitHub to propose merging into the main branch. Even when working alone, using a pull request gives you another chance to review your changes.
Step 6: Merge
Once the pull request is approved, merge it into the main branch. You can delete the feature branch after merging is complete. The history remains in the commit record of the main branch.
With Claude Code, you can handle most of these six steps in natural language. If you say "I like the hero button changes. Push it to GitHub," Claude Code will stage the modified files, write an appropriate commit message, and push to the remote repository. But you must understand the principles of what happens inside so you can identify and fix problems when they arise.
The code is safely up on GitHub. The change history is cleanly recorded. But having code on GitHub doesn't mean someone can open a web browser and see your site. There is one more bridge needed between the code repository and the live website.
Kim Kyung-jin, AI expert and attorney
Specialist in AI policy and law · former member of the National Assembly · author of numerous works
If this book has spent any time with you, please support it so the next story can reach the world.
(Voluntary support account: NH Bank 302-1096-0948-81 Account holder: Kim Kyung-jin)
Kim Kyung-jin
Attorney · Former Member of the National Assembly · AI Policy Researcher
© 2026 Kim Kyung-jin. All rights reserved.









