Skip to content

All important commands using in git-GitHub || solve merge conflict between Vs-Code & GitHub-web-editor

Notifications You must be signed in to change notification settings

akashdip2001/git-github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

python_logo

Git & GitHub: Essential Commands


🔭 my website Git docs. My YouTube Channel Exams MCQ

Table of Contents

python_logo

  1. Install Git & VS Code
  2. Check Git Installation
  3. Configuring Git (Terminal)
  4. Create Repository
  5. Add and Commit (Local)
  6. Push to Remote Repository on GitHub
    1. VS-code & Web-editor ⚠️ Merge Conflicts
    2. 🚀 Update the Git Remote URL
  7. Initialize a New Repository
  8. Branch Commands
  9. Merging Code
  10. GitHub Exam

Install Git & VS Code

Just copy & paste the code into your PowerShell - Done ✔️

You can install Git Bash using Chocolatey, a package manager for Windows. If you haven't installed Chocolatey yet, run the following command in PowerShell with administrative privileges:

Set-ExecutionPolicy Bypass -Scope Process -Force; `
[System.Net.ServicePointManager]::SecurityProtocol = `
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; `
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Then, install Git and VS Code:

choco install git.install
choco install vscode

Check Git Installation

python_logo

git --version
#check where oyu are?
pwd
#All files & folders
ls
#The folder tracked by git or not ?
git status
docs

Configuring Git (Terminal)

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
git config --list

Git Configuration

🦖 Create an Repository Locally, Edit, and Push from GitHub

python_logo

Main Folder

│── Folder 01
└── Folder 02: I want to track this folder
cd Folder 02
git status
git init
Py Projects
Main Folder

│── Folder 01
└── Folder 02
     
     └── .git: ⚠️

⚠️ Not showing .git Folder ?

Open Vs code -> Settings -> Exclud -> Remove Git from here.

image Guide

Image 1 Image 2

Git Configuration

Or, 🦖 Clone an Existing Repository Locally, Edit, and Push from GitHub


Clone and Check Status

git clone https://github.com/username/repository.git
git status

Status Indicators

Here’s a comprehensive table summarizing the states and their short indicators in Git, along with descriptions:

State Short Indicator Description Icon
Untracked ?? Files that Git doesn't track yet. They are new and need to be added git add . to start tracking. (No specific icon provided)
Modified M Files that have been changed but are not yet staged for commit.
Staged A or M Files added to the staging area. A for newly added, M for modified files staged for commit.
Unmodified (none) Files that are tracked and have not been modified; they remain in their last committed state. (No specific icon provided)
Unmerged U (or UU) Files with conflicts during a merge; need resolution before completing the merge.
  • UU for a file that is unmerged with conflicts.
  • AA, DD, etc., for specific merge conflict cases (e.g., both sides added or deleted a file).

Add and Commit (Local)

python_logo

✈️ Create new file --> add & commit

touch "file 01" "file 02"
Py Projects
Main Folder

│── Folder 01
└── Folder 02
     
     │── .git:
     │── file 01
     └── file 02
# git add filename_01.txt filename_02.txt
git add .
New file add .
Again create a New file & commit all

Use git add . to add all changes.

git commit -m "1st commit"

✈️ Modified (edit) any file --> again add & Commit again

Image 1 Image 2

Next img

Again Use git add . to add all changes.

git add filename_02.txt
git commit -m "2nd commet after modified a file"

Push (Upload to Remote Repository on GitHub)

python_logo

⚠️⚠️⚠️ VS-code & Web-editor ❌ Merge Conflicts ⚠️⚠️⚠️

git & github with vs code setup

⚠️ I have a github propository in the github. And I clone this repository using http URL, so I directly push my all changes through VS code. But what happened eat I open Github web editor and modify any file and push from it. This time how to sync my geethab with vs code in this two cases - case1 - if my I not work on vs good and there was no modified or changes. And in case2 - what happened I update from GitHub web editor but there was also some modification exist in v.s code which is comet but not push ⚠️

✅ Solution ✅

To synchronize your local repository (in VS Code) with the remote GitHub repository in both cases, follow these steps:


Case 1: No Local Changes in VS Code

You updated a file in the GitHub web editor, but no changes were made in your local repository.

  1. Pull the Latest Changes:

    • Open the terminal in VS Code or use the Source Control tab.
    • Run:
      git pull origin <branch_name>
    • Replace <branch_name> with the branch you are working on (e.g., main or master).
  2. Confirm Sync:

    • After pulling, your local repository will now match the remote repository since there were no local changes to cause a conflict.

Case 2: Local Changes in VS Code Not Pushed Yet

You updated a file in the GitHub web editor and also made changes locally that are committed but not pushed.

  1. Pull the Latest Changes:

    • First, fetch and merge the remote changes using:
      git pull origin <branch_name>
  2. ⚠️ Resolve Merge Conflicts (if any):

    • If there are conflicts between the changes made locally and those from the GitHub web editor, Git will indicate the files with conflicts. Resolve these conflicts by:
      • Opening the conflicted files in VS Code.
      • Looking for conflict markers (<<<<<<<, =======, >>>>>>>).
      • Deciding whether to keep your changes, the remote changes, or both.
    • After resolving the conflicts, stage the resolved files:
      git add <file_name>
    • Commit the resolved changes:
      git commit -m "Resolved merge conflicts"
  3. Push Your Changes:

    • Once the merge is complete and there are no conflicts, push your changes back to the remote repository:
      git push origin <branch_name>

Notes

  • Always pull the latest changes before starting work in VS Code to minimize conflicts.
  • Use git status frequently to check the state of your repository and understand whether changes are staged, unstaged, or committed.
  • If you only want to review the changes made in the GitHub web editor before pulling, use:
    git fetch origin <branch_name>
    git log origin/<branch_name>

git & github with vs code setup

✅ This approach keeps both your local and remote repositories in sync efficiently. ✅

Push Changes to a Remote Repository

Once you've committed your changes locally, use the git push command to push those changes to a remote repository.

Syntax:

git push <remote_name> <branch_name>

Example:

git push origin main

Replace origin with the name of your remote repository, and main with the name of the branch you're pushing to.

If it's your first time pushing to the remote repository, you may need to set up tracking:

git push -u origin main

After the initial setup, simply use git push for future pushes.

git push

🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥

Update the Git Remote URL

🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥

1. 🚀 git clone from a another profile/repo

Screenshot (708)

2. 🚀 Check the Targate repo

Screenshot (709)

3. 🚀 Update the Targate repo

Step 1: Update the Git Remote URL

In the node-todo-cicd directory, update the remote URL to point to your repository:

git remote set-url origin https://github.com/akashdip2001/AWS.git

Verify the change with:

git remote -v

It should now display:

origin  https://github.com/akashdip2001/AWS.git (fetch)
origin  https://github.com/akashdip2001/AWS.git (push)

Step 2: Move the Files to the Target Directory

  1. Create the directory structure in your repository:

    mkdir -p Projects/CI-CD/Project\ 001
    mv * Projects/CI-CD/Project\ 001/
  2. Ensure no unnecessary files (e.g., .git from the original project) are moved:

    rm -rf Projects/CI-CD/Project\ 001/.git

Step 3: Stage and Commit the Changes

  1. Add the new directory and its content to the staging area:

    git add Projects/CI-CD/Project\ 001/
  2. Commit the changes with an appropriate message:

    git commit -m "Added node-todo-cicd project to Projects/CI-CD/Project 001"

Step 4: Push the Changes

Push the changes to your repository on GitHub:

git push origin master

Replace master with the branch name you're using if it differs.


Step 5: Verify the Upload

  1. Go to your repository on GitHub: https://github.com/akashdip2001/AWS.
  2. Navigate to Projects/CI-CD/Project 001 to ensure the files are correctly placed.

This method ensures the project is correctly uploaded to the desired directory in your repository.

Screenshot 2024-12-20 172351

🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥🚥


Initialize a New Repository

init - Used to create a new repository

mkdir <NewFolderName>
cd <NewFolderName>
git init

Use cd .. to navigate back to the main folder.

mkdir creates a new folder and cd enters it. Then, create or edit files within the folder.

git status
git add .
git commit -m "Initial commit"
git status
git push origin main

Git Initialization

🦖 Creating a Repository on GitHub (Without README) & Uploading Local Files

Without a README: This allows you to clone the repository locally, initialize Git, and push all local files.

git remote add origin https://github.com/username/repository.git
git remote -v

Use git remote -v to verify the remote connection.

Check the Branch

git branch

If you're on the master branch, rename it to main.

Rename the Branch to main

git branch -M main
git push -u origin main

The -u flag sets up tracking for future pushes, allowing you to use git push without specifying the remote and branch.

Push Any Changes Locally

git status
git add .
git commit -m "Add new file or update"
git push

🦖 Branch Commands

✈️ Check the Branch

git branch

✈️ Rename a Branch

#git branch -M main
git branch -m <old-branch-name> <new-branch-name>

✈️ Create a New Branch

git branch <new-branch-name>
git checkout -b <new-branch-name>

✈️ Check all existing Branches

git branch
also check using HEAD file

✈️ Navigate Between Branches

# create new Branch Then switch
git branch <branch-name>
git switch <branch-name>
git checkout <branch-name>
# Auto create the branct (if not exist) & switch
git switch -c <branch-name>

✈️ Delete a Branch

git branch -d <branch-name>

✅ After Making Changes

git status
git add .
git commit -m "Your commit message"
git push origin <branch-name>
docs

Create a new Branch in VS-Code ⚠️ git push

steps

Screenshot (359)

git branch
git branch "Test-Share-link"
git switch "Test-Share-link"
git branch
git status
git add .
git commit -m "add Test-Share-link .md file"
# ❌ git push
#
git push --set-upstream origin Test-Share-link

Screenshot (360) Screenshot (361) Screenshot (362) Screenshot (363)

Branch Operations

🦖 Merging Code

Method 1: Using Git Commands

python_logo

#git diff <branch-name>   # Compare commits, branches, files & more
git merge <branch-name>
GUI

Method 2: Creating a Pull Request (PR)

git pull origin main    # Download and synchronize with GitHub

Merge Operations


📄 Documentation My YouTube Channel

Releases

No releases published

Packages

No packages published

Languages