Basic Commands
Configuring user information used across all local repositories.
| ls |
Show all files and directories present in the working directory |
| ls -l |
Show all files and directories along with details like ownership, size, and when they were last modified |
| ls -t |
Sort the output of ls by last modified date |
| pwd |
List the path of the current working directory |
| cd directory |
Switch to a different working directory |
|
cd .. |
Move up one directory level |
|
cd / |
Switch to the root directory |
|
clear |
Wipe out all the text from the terminal screen |
|
history |
Print out all the previously executed commands in the current session |
| touch filename |
Create a new file |
| vi filename |
Open a file for editing |
| cat filename |
Display the contents of a file |
|
hostnamectl |
List system information, including kernel, release, architecture, and virtualization etc |
|
ipconfig |
Show the network interfaces, IP addresses, and MAC address of the system |
|
date |
Print the current system date and time |
|
top |
List all the running processes on the system |
|
free -m |
Show memory usage stats |
| head filename |
Display the first 10 lines of a file |
| tail filename |
Display the last 10 lines of a file |
| mv file /new/file/path |
Move the file to a different location |
| mv filename new_filename |
Rename a file |
| cp filename new_filename |
Copy a file |
| man command_name |
List helpful information regarding a command |
| rm filename |
Delete a file |
| rm -rf directory_name |
Remove a directory and its contents |
| sudo |
For regular users to run commands with elevated privileges |
| mkdir directory_name |
Create a new directory |
| kill pid |
Kill a process using its process ID |
| reboot |
Restart the system |
| shutdown -h now |
Turn off the system |
Networking Commands
Configuring user information, initializing and cloning repositories.
| git init [directory] |
Initialize an existing directory as a Git repository. Run with no arguments to initialize the current directory as a git repository. |
| git clone [url] |
Retrieve an entire repository from a hosted location via URL. |
Stage & Snapshot
Working with snapshots and the Git staging area.
| git status |
Show modified files in working directory, staged for your next commit. |
| git add [file] |
Add a file as it looks now to your next commit (stage). |
| git reset [file] |
Unstage a file while retaining the changes in working directory. |
| git diff |
Diff of what is changed but not staged. |
| git diff –staged |
Diff of what is staged but not yet commited. |
| git commit -m “[descriptive message]” |
Commit your staged content as a new commit snapshot. |
Branch & Merge
Isolating work in branches, changing context, and integrating changes
| git branch |
List your branches. a * will appear next to the currently active branch. |
| git branch [branch-name] |
Create a new branch at the current commit. |
| git checkout |
Switch to another branch and check it out into your working directory. |
| git merge [branch] |
Merge the specified branch’s history into the current one. |
| git log |
Show all commits in the current branch’s history. |
Inspect & Compare
Examining logs, diffs and object information.
| git log |
Show the commit history for the currently active branch. |
| git log branchB..branchA |
Show the commits on branchA that are not on branchB. |
| git log –follow [file] |
Show the commits that changed file, even across renames. |
| git diff branchB…branchA |
Show the diff of what is in branchA that is not in branchB. |
| git show [SHA] |
Show any object in Git in human-readable format. |
Share & Update
Retrieving updates from another repository and updating local repos
| git remote add [alias] [url] |
Add a git URL as an alias. |
| git fetch [alias] |
Fetch down all the branches from that Git remote. |
| git merge [alias]/[branch] |
Merge a remote branch into your current branch to bring it up to date. |
| git push [alias] [branch] |
Transmit local branch commits to the remote repository branch. |
| git pull |
Fetch and merge any commits from the tracking remote branch. |
Tracking Path Changes
Versioning file removes and path changes
| git rm [file] |
Delete the file from project and stage the removal for commit. |
| git mv [existing-path] [new-path] |
Change an existing file path and stage the move. |
| git log –stat -M |
Show all commit logs with indication of any paths that moved. |
Rewrite History
Rewriting branches, updating commits and clearing history
| git rebase [branch |
Apply any commits of current branch ahead of specified one. |
| git reset –hard [commit] |
Clear staging area, rewrite working tree from specified commit. |
Ignoring Patterns
Preventing unintentional staging or commiting of files.
| logs/*.notespattern*/ |
Save a file with desired paterns as .gitignore with either direct string matches or wildcard globs. |
| git config –global core.excludesfile [file] |
System wide ignore patern for all local repositories |
Temporary Commits
Temporarily store modified, tracked files in order to change branches.
| git stash |
Save modified and staged changes. |
| git stash list |
List stack-order of stashed file changes. |
| git stash pop |
Write working from top of stash stack. |
| git config –global core.excludesfile [file] |
Discard the changes from top of stash stack. |