Source control is similar to a backup with enabled versioning, which enables you to compare changes to earlier versions and undo changes. Furthermore enables teamwork when working on files with multiple developers.
There are two types of source control.
- Centralized - SVN is the most popular centralized source control system. It's require connection with central server for all the operations.
- De-centralized or Distributed - Git is the famous distributed source control system. Since most of the operations are in local, connection with remote server require only for few operations (eg. pull, push)
Git is a distributed/de-centralized source control system, and it's fast since most of the operations are in local.
There are three local stages and one remote stage.
- Working directory
- Staging area (pre-commit holding area)
- Local repository
- Remote repository
Later of Git version 2.28, default branch has changed from master to main.
Github is the most popular git hosting provider.
Git global configurations
git config --global user.name "Ruban B"
git config --global user.email "ruban@gmail.com"
git config --global user.password "GuessMe123"
git config --global init.defaultBranch "main"
git config --global core.editor "notepad++.exe -multilnst -nosession"
git config --global alias.hist "log --all --graph --decorate --oneline"
git config --global diff.tool p4merge
git config --global difftool.p4merge.path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Perforce"
git config --global difftool.prompt false
git config --global --list
git config --global -e (it will open the .gitconfig file)
Basic Git commands
git version
git clone <git-repo-url>
git status
git add .
git commit -m "Commit message goes here"
git pull origin master
git push origin master
git init
git init -b <branch> <project-folder-name>
git commit -am "it will add and commit together"
git checkout
git ls
git ls-files
git rm <file>
git reset HEAD <file>
git checkout -- <file>
git init
git add .
git status
git commit -m "Commit message goes here"
git status
git remote add origin https://roks@bitbucket.org/roks/client.git
git pull origin master
git push -u origin master -f
Commands | Description |
---|---|
git version |
Get the git version |
git clone git-repo-url |
It will download the remote repository to local file system. This operation called as cloning |
git status |
It will show the untracked/modified file details |
git add . |
Add all changes from working directory to staging area |
git commit -m "Commit message goes here" |
Move changes from staging area to local repository |
git pull origin master |
Update local project with remote repository, if any changes made it will available |
git push origin master |
Publish changes to remote repository |
git init |
Initialize a folder with git |
git init -b main project-folder-name |
Initialize with disired branch name |
git commit -am "Commit message goes here" |
It will add to staging area and commit together |
git checkout |
|
git ls |
|
git ls-files |
|
git reset HEAD file |
Un-stage the file |
git checkout -- file |
Revert changes in working area |
Create .gitignore file in the root directory, to skip
Specific file
File pattern - *.ext
Folder - myfolder/
origin refers to the name of the remote repository
Thanks.
Top comments (0)