What’s Unix, Git and, Github and Its role in the Web tech field.

Anuj Kumar
3 min readApr 21, 2021

Unix: Unix is a family of OS like Mac OS, Android, ios, Linux, etc. Windows is one of the main OS that doesn’t belong to the Unix OS family. Unix is an interface between user and hardware, These interfaces are Kernel, Shell, and Application.
Kernel: The core of the Unix is called Kernel.
Shell: Its interface between user and Kernel, accepts and interprets command through a command-line interface called terminal.
Most of the servers on the internet run on Unix OS. The basic commands in Unix like echo, pwd, ls, cd directory name/, cd .., ls, etc. Here echo use to add content in the file, pwd use to check the directory in which we are currently in, ls use to list down all the directories and files, cd directory name/ use to navigate in the current directory, cd .. use to get one step back from the current directory
In Unix, We can also CRUD our files/folders/data through various commands like touch, head, tail, cat, nano, rm, etc. Here CRUD means
C: Create, R: Read, U: Update, D: Delete and the commands touch use to create a new file, head use to print content from the top up to ten lines, tail uses to print content from the bottom, cat use to print the content of multiple files at once, nano use to add or delete the content of the file, rm use to delete the file.

Git: Git is a version control system that keeps track of changes to the files and folders, So We can go to the specific version later without disturbing our original copy. In git, we make a new version by creating a snapshot of the entire directory. Every version or snapshot called a commit, Commit saves the state of files at a particular point in time. Usually, we make a commit when a logical unit of work is done, Commit keeps the track of older version. The process of from older version to newer version called commit-graph.
In git three stages are there:
a) Untracked area/Working tree: Here we can Create, Update, Delete files. At this stage git not keeps track of files.
b) Staging area/Index: This is the preparation area where we add changes to the commit and it will go back to the untracked area. From the staging area, git keeps tracking of changes in files
c) Commit stage/History: This stage keeps the commit-graph and records snapshot by creating a commit.
Git commands which useful in git are:
git status: Check the status of the repo.
git log: Check the commit history.
git add . <filename>: Add the file to staging area
git commit -m <message>: Move files from staging to commit area.
git restore — staged <filename>: Move a file from staging to the untracked area.
git branch <branchname>: To create a new branch.
git checkout <branchname>: To switch the particular branch.
git branch -d <branchname>: To delete a branch
git branch: To check all the branches.
git merge <branchname>: To merge the specific branch in the current branch.
git checkout -b <branchname>: To create and switched to a new branch.

Github: Github is a git-enabled platform. On this platform, We can collaborate with our peers or other peoples through the remote repository, It also works as a backup in case something happens to our local machine. In Github, we can create a repo, or works on an existing repo, or contributes to an existing branch.
Github has six steps of working
1) Create a branch: Create a branch of the same file without disturbing our master file.
2) Add commits: Keep track of changes and save a snapshot of this progress by commit.
3)Open a pull request: When any changes ready to collaborate, create a pull request so our team members can review.
4)Discuss and review the points: On Github, every team members have a copy of the project, So anyone can add it to the branch and update the changes.
5) Merge: Github keeps track of everyone’s contribution, When changes have been updated, They can incorporate the new code in the project by merging.
6)Deployment: When all the changes are completed and the local repo merges to master, the deployment has done by launching them on a server.

--

--

Anuj Kumar

I am learning full stack web development @AltCampus