version_control:git_basics
This is an old revision of the document!
Table of Contents
Git Basics
Clarification
Basic operations
- Create a git repository in the current directory:
git init
- Create a new directory with a git repository in it:
git init directory-name
- Stage a changed file or a new file for the next commit:
git add filename
- Stage all changed and new files for the next commit:
git add .
- Unstage a file you have staged for the next commit:
git rm --cached filename
- Commit the staged files:
git commit -m "A message about this commit."
- Get status of repository:
git status
- Get history of repository:
git log
- Delete a file:
git rm filename
- Rename or move a file:
git mv source destination
Use the git rm
and git mv
commands to delete and move/rename files instead of the Windows Explorer, the Finder in macOS, your Linux file manager, or other shell commands. Doing so will simplify staging.
Branching and merging
- A git repository has a default branch called master.
- To create a new branch:
git branch branch-name
- Switch to an existing branch:
git checkout branch-name
- Create a new branch and immediately switch to it:
git checkout -b branch-name
- Merge changes in another branch into the current branch:
git merge branch-name
- Delete a branch that you're not currently in:
git branch -d branch-name
Ignoring files
- To make git ignore some files in your project, create a
.gitignore
file in the project directory.- .gitignore
# Ignore specific files nastyfile.txt another-nastyfile.docx # Ignore compiled file(s) *.exe *.o # Ignore all files in directory foo foo/*
The file name must be .gitignore
, not .gitignore.txt
or gitignore.txt
. To create a .gitignore
file in Windows, open the Git Bash shell in the directory where you want the file and enter:
touch .gitignore
GUI interface
git gui
: opens a GUI for performing common git functions.gitk
: opens a GUI commit browsing tool.- Lots of other third party Git tools are available.
More git stuff
- My Git tips.
- Roger Dudler's git - the simple guide goes beyond what's here, is beginner friendly, and is quite good.
version_control/git_basics.1677627774.txt.gz · Last modified: 2023/02/28 23:42 by mithat