DEV Community

Cover image for  Basics of Unix, Git, and 
              Github
Deepak Kushwaha
Deepak Kushwaha

Posted on

Basics of Unix, Git, and Github

              UNIX

Unix(UNiplexed Information Computing System) is an operating system which acts as a link between the computer and user.it is developed in 1969 at AT & Ts bell labs by ken Thompson and denis Ritchie also known for father of c programming language

FEATURES OF UNIX
1 Multiuser capability
2 Multitasking capability
3 communication
4 security

                   UNIX ARCHITECTURE

it is divided into 3 parts
1 kernel
2 shell
3 application program

kernel- it is a heart of the operating system it interacts with hardware and manages memory, task scheduling, file management

shell- A shell provides an interface of the Unix system it gathers input from us and executes programs based on that input.

further shell is divided into 2 parts
1 c shell
2 bourne shell

c shell(csh)- c cell is developed by Bill joy it is a command processor which run in a text window allow a user to type a commands
Bourne shell-It is considered as a primary shell bash is the free version of the bourne shell.

           COMMANDS AND UTILITY

there are various command which we use in our activities
1.pwd- it is used to print present work directory
2.ls - list all folder and files in a directory
3.cd- Used to change directory
4.cd .. move back to one directory
5.cp - copy file into a directory
6.rm- remove or delete a file
7.mv- move or rename a file
8.man- manual(help) command
9.mkdir- to create a directory
10.rmdir- remove directory (but the directory must be empty)
11.ls -a this command will show the whole list of current
directory
12.touch- touch is used to create a file
13.echo- echo is used to display a line of text
14.head- head tag returns the first 10 line
15.tail- it returns the last 10 line
16.cat- cat allows to create single or multiple files
17.nano- nano is a command-line text editor in which we can edit
our existing file
18.grep- it is a command-line tool used to search character
in a specific file
19.grep -w- search words in all file
20.rm -r- used to remove file including its content
21.clear- used to clear screen
22.exit- exit terminal

      KEY FEATURES OF UNIX COMMAND
  • always use lower case letter in Unix commands
    -always use space or a tab between the commands name

                 GIT
    

Git is a distributed version control system for tracking changes in computer files and coordinating work on those files among multiple people.

version-control-system: Version control systems are a category of software tools that help a software team manage changes to source code over time. Version control software keeps track of every modification to the code in a special kind of database.

              STAGES OF GIT

there are three stages
1.working tree
2.stagging area
3.commit

Working tree: working tree consist of current working files in which we can add and edit files it is also called an untracked area of git if we make changes in our working file git recognized a modification

Staging area: this stage starts the tracking of our repo from this stage we have two options either go to commit and another one is going to working tree for modification.

Commit: git commit command takes a snapshot representing the staged changes

            GIT COMMANDS

1.git config -- used to set name and email
2.git init - it creates a new git repository
3.git add - it used to add changes in the staging area
4.git commit - record changes of a repository
5.git status - git status command is used to show the status
of repo
6.git commit -m" -changes" it shows what type of changes we mad in
file
7.git checkout -it is used to recover file
8.git log -git log commands display all of the commits
in the repo history
-hash algorithm
-commit message
-author
-date
9.git log -p -1 - if we have multiple logs by the help of
this we can watch the last updated commit
details
10.git diff - when we updated our repo and wanted to see the
the difference we can use this
10.git ignore - it is used to ignore file
11.git restore - git restore is about restoring files in the
a working tree from either the index or another
commit

            BRANCHING AND MERGING

The git branch is a branch management tool. Brach gives a feature to keep developing and adding a new feature to the software without affecting the main part of the project. The primary or default branch in git is the master branch developers create a copy of the main branch start development.
merging takes the contents of a source branch and integrates them with a target branch.in this process, only the target branch change source branch remains the same
there are two types of merging
1.fast forward merging
2.3-way merge

Fast forward merging: A fast-forward merge can occur when there is a linear path from the current branch tip to the target branch.

3-way merge: 3-way merging use when there is not a direct path of a merge. It takes two commits to create a new commit called merge commit
GITHUB
GitHub is a website and cloud-based service that helps developers store and manage their code, as well as track and control changes to their code
In Github, we can create a copy of a project and assigned to anyone

Top comments (0)