Common Git Commands Line
Git has so many command line which we can used. Remember all of them would be a waste to our brain memory. When we frequently use the common Git commands line, those will be stored somewhere deep down under our concious.
I just want to list down what are the common git commands line which i frequently used for my reference usage on github and hopefully you get the benefit of it as well.
Common Git Commands
git clone
git clone command used to copy existing remote repository and create a local working copy of it. What git clone does, it will:
- Copy the remote repository files and folders to our local computer,
- Automatically create a remote connection called
origin
which pointing back to original remote repository. This remote connection is established by creating Git refs to the remote branch heads underrefs/remotes/origin
and by initializingremote.origin.url
andremote.origin.fetch
configuration variables.
Command:
$ git clone <remote_URL>
The <remote_URL>
commonly use the https protocol. Example: https://github.com/xyz/xyz.github.io.git
Sample Usage:
$ git clone https://github.com/xyz/xyz.github.io.git
The outcome of above command is to copy the remote repository to the current folder and creating a new folder called xyz.github.io.git
.
If you want to clone it to specific folder location, you could specified the folder name at behind. Example:
$ git clone https://github.com/xyz/xyz.github.io.git my_folder
git config
git config command used to set the configuration or setting for ‘git’. Configuration names are dot delimited strings composed of a section
and a key
based on their hierarchy. There are 2 most important setting for git which are user.name
and user.email
. These settings set the user name and the user email used when commits from local computer.
Command:
$ git config <setting> <command>
Sample Usage:
$ git config user.name "chandra.wijaya"
$ git config user.email "chandra.wijaya@xyz.com"
There is a configuration levels which defined as arguments to specify which configuration level to operate on. There are 3 configuration levels as below:
--local
As default, if when we dont specify an argument, git config
command will write to local level and it will apply only to the current local repository that you are currently in.
Local configuration values are stored in a local repository folder .git
directory on .git/config
file.
--global
A --global
argument is used to write the git settings to all repositories for a operating system user local computer. Global configuration values are stored in a file that is located in a user’s home directory. ~/.gitconfig
on unix systems and C:\Users\\.gitconfig
on windows system.
--system
A --system
argument is used to write the git settings to all repositories on a local computer globally. This argument apply to all operating system users and all repositories inside that local computer.
The system level configuration file stored in a gitconfig
file off the system root path. $(prefix)/etc/gitconfig
on unix systems. On windows this file can be found at C:\Documents and Settings\All Users\Application Data\Git\config
on Windows XP, and in C:\ProgramData\Git\config
on Windows Vista and newer.
The priority sequence order for above 3 configuration levels as below:
- local
- global
- system
This has a meaning that when looking for a configuration value, Git config
will start at the 1st local level, then only 2nd global level and last is system level.
git init
When first time we create a local directory without using clone
method above, we need to initiate git init
command to turn that local directory into an empty Git repository.
This is the first step in creating a local repository. After that, we can continue with next git command by adding and committing local files / directories inside that local directory.
Command:
# change directory to my_folder
$ cd /Users/computer-name/Documents/my_folder
# make my_folder directory a git repository
$ git init
Initialized empty Git repository in /Users/computer-name/Documents/my_folder/.git/
git add
To add files into staging area (Git index) for git
we use git add
command. There are different ways to use this command depending on what we want to achieve. We can add entire directories, add specific files, or even all unstaged files with this git add
command.
Command:
$ git add <file or directory name>
Sample Usage:
# To add all files not staged in current directory:
$ git add .
# To add an index.html file only:
$ git add index.html
# To add an entire html directory:
$ git add html
git commit
Use the git commit
command to record the changes made on the files/directories to a local repository. Each commit has a unique ID for the purpose of easy reference. There is best practice that we include a message for each commit, to explain what are the changes made on that commit for better understanding and help to find the specific changes we have done earlier in the future.
Command:
# Adding a commit with message
$ git commit -m "Commit message in quotes"
Sample Usage:
$ git commit -m "My first commit message"
Comments