Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Index

Introduction to Git

What is "Git"?

Git is the main version control system used in the world. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

This provides many advantages like multiple people working on the same project asynchronously, testing changes to a system without having to worry about reverting to a previous state if necessary, compare changes in files, maintaining different versions of the same system on the same place but separate, keep a history of changes for future reference, among others.

Git Official page

Instalation

Debian/Ubuntu:

apt-get update
apt-get install git

Arch Linux:

pacman -S git

Other Distributions


Remote repositories

It is entirely possible to work with git locally on your machine without other contributors, since some of the benefits of git are keeping track of changes in time, so to clarify there's a separation between git and platforms like GitHub, GitLab, or Bitbucket; but teams and companies always work with remote repositories, and developing alone makes it so you never run into some of the problems git is great at solving, so it is important to understand how to work with those as well.

What is GitHub, GitLab and Bitbucket?

They are all platforms that provide internet hosting for version control using Git. They also provide further tools for software development management like source code management, access management, bug tracking, feature requests, task management, continuous integration and documentation hosting, to name a few.

They let you upload code either publicly or on private repositories and integrate with git to use its many benefits.

Git commands

Configuration

View config

git config --list

Start

Clone a existing project

Once you have the repository url you clone it (which will download its main/master branch) with:

git clone <repository-url>

This will create a folder with the repository name wherever you are. If you want to specify a path or a folder name, simply add it as a argument:

git clone <repository-url> /path/to/git_folder

Create a git project from scratch

Go to the directory with the project code (or an empty directory to start from zero) and run:

git init

This will create a new project where all files and subfolders are

git remote set-url origin https://github.com/Cygnus-Software/intro-git.git

Note: The remote url is generally the https repository url with a .git at the end

Create a new local repository


Commit Changes

git status

Add a commit

git commit -m "Tittle commit example" -m "Commit description"

Show a commit

git show <tag_commit>

Add local changes to repository

git add

Delete the file from

Branches

Create a new branch

git branch <name_branch>

Switch to another branch and check it out into your working directory

git checkout <name_branch>

Commit history

Show all commits in the actual branch and all files

git log

Show all changes for a specific file

git log -p <file>

Diff of what is changed but not staged

git diff

Commit your staged content as a new commit snapshot

git diff --staged

Undo

Discard all local changes

git reset --hard

Tags

Add a tag in current branch

git tag <tag-name>

Errors

Please use a personal access token instead

Get Token

[user@Cygnus Cygnus_intro_git]$ git push origin develop
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/Cygnus-Software/intro-git.git/': The requested URL returned error: 403
git config --global --unset credential.helper

Git PURR!

Credits to Tomomi Imura

Purr pull

Purr Merge and rebase

Purr push

Purr log

Other tools and tips

Add co author

How to add co-author

Graph

sudo apt install gitk

GUI Clients

What is a "GUI" for git?

https://git-scm.com/download/gui/linux

Visual Studio Code: extensions

Pair programming Live-Share


References

Readme in other languages

README ES

Contributors

About

Introduction to git: guide

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Index

Introduction to Git

What is "Git"?

Git is the main version control system used in the world. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

This provides many advantages like multiple people working on the same project asynchronously, testing changes to a system without having to worry about reverting to a previous state if necessary, compare changes in files, maintaining different versions of the same system on the same place but separate, keep a history of changes for future reference, among others.

Git Official page

Instalation

Debian/Ubuntu:

apt-get update
apt-get install git

Arch Linux:

pacman -S git

Other Distributions


Remote repositories

It is entirely possible to work with git locally on your machine without other contributors, since some of the benefits of git are keeping track of changes in time, so to clarify there's a separation between git and platforms like GitHub, GitLab, or Bitbucket; but teams and companies always work with remote repositories, and developing alone makes it so you never run into some of the problems git is great at solving, so it is important to understand how to work with those as well.

What is GitHub, GitLab and Bitbucket?

They are all platforms that provide internet hosting for version control using Git. They also provide further tools for software development management like source code management, access management, bug tracking, feature requests, task management, continuous integration and documentation hosting, to name a few.

They let you upload code either publicly or on private repositories and integrate with git to use its many benefits.

Git commands

Configuration

View config

git config --list

Start

Clone a existing project

Once you have the repository url you clone it (which will download its main/master branch) with:

git clone <repository-url>

This will create a folder with the repository name wherever you are. If you want to specify a path or a folder name, simply add it as a argument:

git clone <repository-url> /path/to/git_folder

Create a git project from scratch

Go to the directory with the project code (or an empty directory to start from zero) and run:

git init

This will create a new project where all files and subfolders are

git remote set-url origin https://github.com/Cygnus-Software/intro-git.git

Note: The remote url is generally the https repository url with a .git at the end

Create a new local repository


Commit Changes

git status

Add a commit

git commit -m "Tittle commit example" -m "Commit description"

Show a commit

git show <tag_commit>

Add local changes to repository

git add

Delete the file from

Branches

Create a new branch

git branch <name_branch>

Switch to another branch and check it out into your working directory

git checkout <name_branch>

Commit history

Show all commits in the actual branch and all files

git log

Show all changes for a specific file

git log -p <file>

Diff of what is changed but not staged

git diff

Commit your staged content as a new commit snapshot

git diff --staged

Undo

Discard all local changes

git reset --hard

Tags

Add a tag in current branch

git tag <tag-name>

Errors

Please use a personal access token instead

Get Token

[user@Cygnus Cygnus_intro_git]$ git push origin develop
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/Cygnus-Software/intro-git.git/': The requested URL returned error: 403
git config --global --unset credential.helper

Git PURR!

Credits to Tomomi Imura

Purr pull

Purr Merge and rebase

Purr push

Purr log

Other tools and tips

Add co author

How to add co-author

Graph

sudo apt install gitk

GUI Clients

What is a "GUI" for git?

https://git-scm.com/download/gui/linux

Visual Studio Code: extensions

Pair programming Live-Share


References

Readme in other languages

README ES

Contributors

About

Introduction to git: guide

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Index

Introduction to Git

What is "Git"?

Git is the main version control system used in the world. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

This provides many advantages like multiple people working on the same project asynchronously, testing changes to a system without having to worry about reverting to a previous state if necessary, compare changes in files, maintaining different versions of the same system on the same place but separate, keep a history of changes for future reference, among others.

Git Official page

Instalation

Debian/Ubuntu:

apt-get update
apt-get install git

Arch Linux:

pacman -S git

Other Distributions


Remote repositories

It is entirely possible to work with git locally on your machine without other contributors, since some of the benefits of git are keeping track of changes in time, so to clarify there's a separation between git and platforms like GitHub, GitLab, or Bitbucket; but teams and companies always work with remote repositories, and developing alone makes it so you never run into some of the problems git is great at solving, so it is important to understand how to work with those as well.

What is GitHub, GitLab and Bitbucket?

They are all platforms that provide internet hosting for version control using Git. They also provide further tools for software development management like source code management, access management, bug tracking, feature requests, task management, continuous integration and documentation hosting, to name a few.

They let you upload code either publicly or on private repositories and integrate with git to use its many benefits.

Git commands

Configuration

View config

git config --list

Start

Clone a existing project

Once you have the repository url you clone it (which will download its main/master branch) with:

git clone <repository-url>

This will create a folder with the repository name wherever you are. If you want to specify a path or a folder name, simply add it as a argument:

git clone <repository-url> /path/to/git_folder

Create a git project from scratch

Go to the directory with the project code (or an empty directory to start from zero) and run:

git init

This will create a new project where all files and subfolders are

git remote set-url origin https://github.com/Cygnus-Software/intro-git.git

Note: The remote url is generally the https repository url with a .git at the end

Create a new local repository


Commit Changes

git status

Add a commit

git commit -m "Tittle commit example" -m "Commit description"

Show a commit

git show <tag_commit>

Add local changes to repository

git add

Delete the file from

Branches

Create a new branch

git branch <name_branch>

Switch to another branch and check it out into your working directory

git checkout <name_branch>

Commit history

Show all commits in the actual branch and all files

git log

Show all changes for a specific file

git log -p <file>

Diff of what is changed but not staged

git diff

Commit your staged content as a new commit snapshot

git diff --staged

Undo

Discard all local changes

git reset --hard

Tags

Add a tag in current branch

git tag <tag-name>

Errors

Please use a personal access token instead

Get Token

[user@Cygnus Cygnus_intro_git]$ git push origin develop
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/Cygnus-Software/intro-git.git/': The requested URL returned error: 403
git config --global --unset credential.helper

Git PURR!

Credits to Tomomi Imura

Purr pull

Purr Merge and rebase

Purr push

Purr log

Other tools and tips

Add co author

How to add co-author

Graph

sudo apt install gitk

GUI Clients

What is a "GUI" for git?

https://git-scm.com/download/gui/linux

Visual Studio Code: extensions

Pair programming Live-Share


References

Readme in other languages

README ES

Contributors

About

Introduction to git: guide

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Index

Introduction to Git

What is "Git"?

Git is the main version control system used in the world. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

This provides many advantages like multiple people working on the same project asynchronously, testing changes to a system without having to worry about reverting to a previous state if necessary, compare changes in files, maintaining different versions of the same system on the same place but separate, keep a history of changes for future reference, among others.

Git Official page

Instalation

Debian/Ubuntu:

apt-get update
apt-get install git

Arch Linux:

pacman -S git

Other Distributions


Remote repositories

It is entirely possible to work with git locally on your machine without other contributors, since some of the benefits of git are keeping track of changes in time, so to clarify there's a separation between git and platforms like GitHub, GitLab, or Bitbucket; but teams and companies always work with remote repositories, and developing alone makes it so you never run into some of the problems git is great at solving, so it is important to understand how to work with those as well.

What is GitHub, GitLab and Bitbucket?

They are all platforms that provide internet hosting for version control using Git. They also provide further tools for software development management like source code management, access management, bug tracking, feature requests, task management, continuous integration and documentation hosting, to name a few.

They let you upload code either publicly or on private repositories and integrate with git to use its many benefits.

Git commands

Configuration

View config

git config --list

Start

Clone a existing project

Once you have the repository url you clone it (which will download its main/master branch) with:

git clone <repository-url>

This will create a folder with the repository name wherever you are. If you want to specify a path or a folder name, simply add it as a argument:

git clone <repository-url> /path/to/git_folder

Create a git project from scratch

Go to the directory with the project code (or an empty directory to start from zero) and run:

git init

This will create a new project where all files and subfolders are

git remote set-url origin https://github.com/Cygnus-Software/intro-git.git

Note: The remote url is generally the https repository url with a .git at the end

Create a new local repository


Commit Changes

git status

Add a commit

git commit -m "Tittle commit example" -m "Commit description"

Show a commit

git show <tag_commit>

Add local changes to repository

git add

Delete the file from

Branches

Create a new branch

git branch <name_branch>

Switch to another branch and check it out into your working directory

git checkout <name_branch>

Commit history

Show all commits in the actual branch and all files

git log

Show all changes for a specific file

git log -p <file>

Diff of what is changed but not staged

git diff

Commit your staged content as a new commit snapshot

git diff --staged

Undo

Discard all local changes

git reset --hard

Tags

Add a tag in current branch

git tag <tag-name>

Errors

Please use a personal access token instead

Get Token

[user@Cygnus Cygnus_intro_git]$ git push origin develop
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/Cygnus-Software/intro-git.git/': The requested URL returned error: 403
git config --global --unset credential.helper

Git PURR!

Credits to Tomomi Imura

Purr pull

Purr Merge and rebase

Purr push

Purr log

Other tools and tips

Add co author

How to add co-author

Graph

sudo apt install gitk

GUI Clients

What is a "GUI" for git?

https://git-scm.com/download/gui/linux

Visual Studio Code: extensions

Pair programming Live-Share


References

Readme in other languages

README ES

Contributors

About

Introduction to git: guide

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Index

Introduction to Git

What is "Git"?

Git is the main version control system used in the world. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

This provides many advantages like multiple people working on the same project asynchronously, testing changes to a system without having to worry about reverting to a previous state if necessary, compare changes in files, maintaining different versions of the same system on the same place but separate, keep a history of changes for future reference, among others.

Git Official page

Instalation

Debian/Ubuntu:

apt-get update
apt-get install git

Arch Linux:

pacman -S git

Other Distributions


Remote repositories

It is entirely possible to work with git locally on your machine without other contributors, since some of the benefits of git are keeping track of changes in time, so to clarify there's a separation between git and platforms like GitHub, GitLab, or Bitbucket; but teams and companies always work with remote repositories, and developing alone makes it so you never run into some of the problems git is great at solving, so it is important to understand how to work with those as well.

What is GitHub, GitLab and Bitbucket?

They are all platforms that provide internet hosting for version control using Git. They also provide further tools for software development management like source code management, access management, bug tracking, feature requests, task management, continuous integration and documentation hosting, to name a few.

They let you upload code either publicly or on private repositories and integrate with git to use its many benefits.

Git commands

Configuration

View config

git config --list

Start

Clone a existing project

Once you have the repository url you clone it (which will download its main/master branch) with:

git clone <repository-url>

This will create a folder with the repository name wherever you are. If you want to specify a path or a folder name, simply add it as a argument:

git clone <repository-url> /path/to/git_folder

Create a git project from scratch

Go to the directory with the project code (or an empty directory to start from zero) and run:

git init

This will create a new project where all files and subfolders are

git remote set-url origin https://github.com/Cygnus-Software/intro-git.git

Note: The remote url is generally the https repository url with a .git at the end

Create a new local repository


Commit Changes

git status

Add a commit

git commit -m "Tittle commit example" -m "Commit description"

Show a commit

git show <tag_commit>

Add local changes to repository

git add

Delete the file from

Branches

Create a new branch

git branch <name_branch>

Switch to another branch and check it out into your working directory

git checkout <name_branch>

Commit history

Show all commits in the actual branch and all files

git log

Show all changes for a specific file

git log -p <file>

Diff of what is changed but not staged

git diff

Commit your staged content as a new commit snapshot

git diff --staged

Undo

Discard all local changes

git reset --hard

Tags

Add a tag in current branch

git tag <tag-name>

Errors

Please use a personal access token instead

Get Token

[user@Cygnus Cygnus_intro_git]$ git push origin develop
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/Cygnus-Software/intro-git.git/': The requested URL returned error: 403
git config --global --unset credential.helper

Git PURR!

Credits to Tomomi Imura

Purr pull

Purr Merge and rebase

Purr push

Purr log

Other tools and tips

Add co author

How to add co-author

Graph

sudo apt install gitk

GUI Clients

What is a "GUI" for git?

https://git-scm.com/download/gui/linux

Visual Studio Code: extensions

Pair programming Live-Share


References

Readme in other languages

README ES

Contributors

About

Introduction to git: guide

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Index

Introduction to Git

What is "Git"?

Git is the main version control system used in the world. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

This provides many advantages like multiple people working on the same project asynchronously, testing changes to a system without having to worry about reverting to a previous state if necessary, compare changes in files, maintaining different versions of the same system on the same place but separate, keep a history of changes for future reference, among others.

Git Official page

Instalation

Debian/Ubuntu:

apt-get update
apt-get install git

Arch Linux:

pacman -S git

Other Distributions


Remote repositories

It is entirely possible to work with git locally on your machine without other contributors, since some of the benefits of git are keeping track of changes in time, so to clarify there's a separation between git and platforms like GitHub, GitLab, or Bitbucket; but teams and companies always work with remote repositories, and developing alone makes it so you never run into some of the problems git is great at solving, so it is important to understand how to work with those as well.

What is GitHub, GitLab and Bitbucket?

They are all platforms that provide internet hosting for version control using Git. They also provide further tools for software development management like source code management, access management, bug tracking, feature requests, task management, continuous integration and documentation hosting, to name a few.

They let you upload code either publicly or on private repositories and integrate with git to use its many benefits.

Git commands

Configuration

View config

git config --list

Start

Clone a existing project

Once you have the repository url you clone it (which will download its main/master branch) with:

git clone <repository-url>

This will create a folder with the repository name wherever you are. If you want to specify a path or a folder name, simply add it as a argument:

git clone <repository-url> /path/to/git_folder

Create a git project from scratch

Go to the directory with the project code (or an empty directory to start from zero) and run:

git init

This will create a new project where all files and subfolders are

git remote set-url origin https://github.com/Cygnus-Software/intro-git.git

Note: The remote url is generally the https repository url with a .git at the end

Create a new local repository


Commit Changes

git status

Add a commit

git commit -m "Tittle commit example" -m "Commit description"

Show a commit

git show <tag_commit>

Add local changes to repository

git add

Delete the file from

Branches

Create a new branch

git branch <name_branch>

Switch to another branch and check it out into your working directory

git checkout <name_branch>

Commit history

Show all commits in the actual branch and all files

git log

Show all changes for a specific file

git log -p <file>

Diff of what is changed but not staged

git diff

Commit your staged content as a new commit snapshot

git diff --staged

Undo

Discard all local changes

git reset --hard

Tags

Add a tag in current branch

git tag <tag-name>

Errors

Please use a personal access token instead

Get Token

[user@Cygnus Cygnus_intro_git]$ git push origin develop
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/Cygnus-Software/intro-git.git/': The requested URL returned error: 403
git config --global --unset credential.helper

Git PURR!

Credits to Tomomi Imura

Purr pull

Purr Merge and rebase

Purr push

Purr log

Other tools and tips

Add co author

How to add co-author

Graph

sudo apt install gitk

GUI Clients

What is a "GUI" for git?

https://git-scm.com/download/gui/linux

Visual Studio Code: extensions

Pair programming Live-Share


References

Readme in other languages

README ES

Contributors

About

Introduction to git: guide

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Index

Introduction to Git

What is "Git"?

Git is the main version control system used in the world. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

This provides many advantages like multiple people working on the same project asynchronously, testing changes to a system without having to worry about reverting to a previous state if necessary, compare changes in files, maintaining different versions of the same system on the same place but separate, keep a history of changes for future reference, among others.

Git Official page

Instalation

Debian/Ubuntu:

apt-get update
apt-get install git

Arch Linux:

pacman -S git

Other Distributions


Remote repositories

It is entirely possible to work with git locally on your machine without other contributors, since some of the benefits of git are keeping track of changes in time, so to clarify there's a separation between git and platforms like GitHub, GitLab, or Bitbucket; but teams and companies always work with remote repositories, and developing alone makes it so you never run into some of the problems git is great at solving, so it is important to understand how to work with those as well.

What is GitHub, GitLab and Bitbucket?

They are all platforms that provide internet hosting for version control using Git. They also provide further tools for software development management like source code management, access management, bug tracking, feature requests, task management, continuous integration and documentation hosting, to name a few.

They let you upload code either publicly or on private repositories and integrate with git to use its many benefits.

Git commands

Configuration

View config

git config --list

Start

Clone a existing project

Once you have the repository url you clone it (which will download its main/master branch) with:

git clone <repository-url>

This will create a folder with the repository name wherever you are. If you want to specify a path or a folder name, simply add it as a argument:

git clone <repository-url> /path/to/git_folder

Create a git project from scratch

Go to the directory with the project code (or an empty directory to start from zero) and run:

git init

This will create a new project where all files and subfolders are

git remote set-url origin https://github.com/Cygnus-Software/intro-git.git

Note: The remote url is generally the https repository url with a .git at the end

Create a new local repository


Commit Changes

git status

Add a commit

git commit -m "Tittle commit example" -m "Commit description"

Show a commit

git show <tag_commit>

Add local changes to repository

git add

Delete the file from

Branches

Create a new branch

git branch <name_branch>

Switch to another branch and check it out into your working directory

git checkout <name_branch>

Commit history

Show all commits in the actual branch and all files

git log

Show all changes for a specific file

git log -p <file>

Diff of what is changed but not staged

git diff

Commit your staged content as a new commit snapshot

git diff --staged

Undo

Discard all local changes

git reset --hard

Tags

Add a tag in current branch

git tag <tag-name>

Errors

Please use a personal access token instead

Get Token

[user@Cygnus Cygnus_intro_git]$ git push origin develop
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/Cygnus-Software/intro-git.git/': The requested URL returned error: 403
git config --global --unset credential.helper

Git PURR!

Credits to Tomomi Imura

Purr pull

Purr Merge and rebase

Purr push

Purr log

Other tools and tips

Add co author

How to add co-author

Graph

sudo apt install gitk

GUI Clients

What is a "GUI" for git?

https://git-scm.com/download/gui/linux

Visual Studio Code: extensions

Pair programming Live-Share


References

Readme in other languages

README ES

Contributors

About

Introduction to git: guide

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Index

Introduction to Git

What is "Git"?

Git is the main version control system used in the world. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

This provides many advantages like multiple people working on the same project asynchronously, testing changes to a system without having to worry about reverting to a previous state if necessary, compare changes in files, maintaining different versions of the same system on the same place but separate, keep a history of changes for future reference, among others.

Git Official page

Instalation

Debian/Ubuntu:

apt-get update
apt-get install git

Arch Linux:

pacman -S git

Other Distributions


Remote repositories

It is entirely possible to work with git locally on your machine without other contributors, since some of the benefits of git are keeping track of changes in time, so to clarify there's a separation between git and platforms like GitHub, GitLab, or Bitbucket; but teams and companies always work with remote repositories, and developing alone makes it so you never run into some of the problems git is great at solving, so it is important to understand how to work with those as well.

What is GitHub, GitLab and Bitbucket?

They are all platforms that provide internet hosting for version control using Git. They also provide further tools for software development management like source code management, access management, bug tracking, feature requests, task management, continuous integration and documentation hosting, to name a few.

They let you upload code either publicly or on private repositories and integrate with git to use its many benefits.

Git commands

Configuration

View config

git config --list

Start

Clone a existing project

Once you have the repository url you clone it (which will download its main/master branch) with:

git clone <repository-url>

This will create a folder with the repository name wherever you are. If you want to specify a path or a folder name, simply add it as a argument:

git clone <repository-url> /path/to/git_folder

Create a git project from scratch

Go to the directory with the project code (or an empty directory to start from zero) and run:

git init

This will create a new project where all files and subfolders are

git remote set-url origin https://github.com/Cygnus-Software/intro-git.git

Note: The remote url is generally the https repository url with a .git at the end

Create a new local repository


Commit Changes

git status

Add a commit

git commit -m "Tittle commit example" -m "Commit description"

Show a commit

git show <tag_commit>

Add local changes to repository

git add

Delete the file from

Branches

Create a new branch

git branch <name_branch>

Switch to another branch and check it out into your working directory

git checkout <name_branch>

Commit history

Show all commits in the actual branch and all files

git log

Show all changes for a specific file

git log -p <file>

Diff of what is changed but not staged

git diff

Commit your staged content as a new commit snapshot

git diff --staged

Undo

Discard all local changes

git reset --hard

Tags

Add a tag in current branch

git tag <tag-name>

Errors

Please use a personal access token instead

Get Token

[user@Cygnus Cygnus_intro_git]$ git push origin develop
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/Cygnus-Software/intro-git.git/': The requested URL returned error: 403
git config --global --unset credential.helper

Git PURR!

Credits to Tomomi Imura

Purr pull

Purr Merge and rebase

Purr push

Purr log

Other tools and tips

Add co author

How to add co-author

Graph

sudo apt install gitk

GUI Clients

What is a "GUI" for git?

https://git-scm.com/download/gui/linux

Visual Studio Code: extensions

Pair programming Live-Share


References

Readme in other languages

README ES

Contributors

About

Introduction to git: guide

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors