Fundamentals 11 min read

Master Remote Git Repositories: Create, Fast‑Forward Merge & Resolve Conflicts

This guide explains how to set up a remote Git repository, push local commits, clone the repo, create and merge branches (including fast‑forward merges), and handle merge conflicts, providing step‑by‑step commands, examples, and visual illustrations for effective version‑control workflows.

ITPUB
ITPUB
ITPUB
Master Remote Git Repositories: Create, Fast‑Forward Merge & Resolve Conflicts

Remote Repository Overview

Git stores a project in a repository that can be hosted on a remote server such as GitHub. After registering a free GitHub account you can create a remote repository, clone it to your local machine, and push or pull changes with teammates.

Adding a Remote

When you have a local repository and want a matching remote on GitHub, create the remote repository on GitHub (do not initialize with a README) and then link it locally:

Run git remote add origin git@server-name:path/repo-name.git (the default remote name is origin).

Push the initial branch with git push -u origin master. The -u flag sets origin as the default upstream, allowing later git push without arguments.

Subsequent pushes can be done with git push origin master (or simply git push).

Cloning a Remote Repository

To start a new project from a remote repository:

Log in to GitHub, create a new empty repository (avoid the "Initialize with a README" option).

Clone it locally with git clone https://github.com/yourname/yourrepo.git (or the SSH URL).

Each collaborator can clone the same remote repository, work offline, and later push their commits.

Creating and Merging Branches

Common branch commands: git branch – list branches. git branch <name> – create a new branch. git checkout <name> or git switch <name> – switch to a branch. git checkout -b <name> or git switch -c <name> – create and switch. git merge <name> – merge another branch into the current one. git branch -d <name> – delete a branch.

When merging, Git may perform a fast‑forward merge if the target branch has not diverged. The command git merge will display "Fast‑forward" when this occurs, simply moving the target pointer forward.

Resolving Conflicts

If Git cannot fast‑forward, a merge conflict arises. Example workflow:

Create a feature branch ( git checkout -b feature1) and modify readme.txt.

Commit the change on feature1.

Switch back to master and make a different edit to the same line, then commit.

Attempt to merge with git merge feature1. Git reports a conflict in readme.txt.

Run git status to see conflicted files, open the file, and edit the conflict markers ( <<<<<<<, =======, >>>>>>>) to produce the desired final content.

Stage the resolved file and commit the merge.

Optionally delete the feature branch with git branch -d feature1.

Visual diagrams (included in the original article) illustrate the branch graph before and after merging, as well as the conflict markers.

Additional Tips

Use git log --graph --pretty=oneline --abbrev-commit to view a compact branch history. The newer git switch command separates branch switching from file checkout, reducing confusion with git checkout -- <file>.

Practicing these commands while following the steps will give you a fully functional distributed version‑control workflow.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

conflict resolutionremote repository
ITPUB
Written by

ITPUB

Official ITPUB account sharing technical insights, community news, and exciting events.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.