Skip to main content

Câu lệnh Git

Getting & Creating Projects

CommandDescription
git initInitialize a local Git repository
git clone ssh://git@github.com/[username]/[repository-name].gitCreate a local copy of a remote repository

Basic Snapshotting

CommandDescription
git statusCheck status
git add [file-name.txt]Add a file to the staging area
git add path/to/[file-name.txt]Add a directory file change to the staging area
git add path/to/directoryAdd all changes in the directory to the staging area
git add .Add all the changes to the staging area
git add -AAdd all new and changed files to the staging area
git commit -m "[commit message]"Commit changes
git commit -m "[commit message]" -m "[commit message description]"Commit changes with description
git rm -r [file-name.txt]Remove a file (or folder)

Branching & Merging

CommandDescription
git branchList branches (the asterisk denotes the current branch)
git branch -aList all branches (local and remote)
git branch [branch name]Create a new branch
git branch -d [branch name]Delete a branch
git push origin --delete [branch name]Delete a remote branch
git checkout -b [branch name]Create a new branch and switch to it
git checkout -b [branch name] origin/[branch name]Clone a remote branch and switch to it
git branch -m [old branch name] [new branch name]Rename a local branch
git checkout [branch name]Switch to a branch
git checkout -Switch to the branch last checked out
git checkout -- [file-name.txt]Discard changes to a file
git merge [branch name]Merge a branch into the active branch
git merge [source branch] [target branch]Merge a branch into a target branch
git stashStash changes in a dirty working directory
git stash clearRemove all stashed entries

Sharing & Updating Projects

CommandDescription
git push origin [branch name]Push a branch to your remote repository
git push -u origin [branch name]Push changes to remote repository (and remember the branch)
git pushPush changes to remote repository (remembered branch)
git push origin --delete [branch name]Delete a remote branch
git pullUpdate local repository to the newest commit
git pull origin [branch name]Pull changes from remote repository
git remote add origin ssh://git@github.com/[username]/[repository-name].gitAdd a remote repository
git remote set-url origin ssh://git@github.com/[username]/[repository-name].gitSet a repository's origin branch to SSH
git remote add [remote name] [url]Add remote repository server address
git remote [-v / --verbose]Display all remote repository
git fetch --allFetch all remote repository
git fetch [remote name]Fetch a remote source repository

Inspection & Comparison

CommandDescription
git logView changes
git log --summaryView changes (detailed)
git log --onelineView changes (briefly)
git log --oneline --graphView changes (briefly) (graphical representation)
git diff [source branch] [target branch]Preview changes before merging

Rebase

         A---B---C topic
/
D---E---F---G master

Will be

                  A'--B'--C' topic
/
D---E---F---G master
CommandDescription
git rebase [target branch]Set [target branch] to be base branch for this branch
git rebase [target branch] [source branch]Set [target branch] to be base branch for [source branch]
git rebase --onto [first branch] [second branch] [...] [last branch]Set rebase for multiple branch

Example

git rebase --onto master topicA topic

    o---o---o---o---o  master
| \
| o'--o'--o' topic
\
o---o---o---o---o next

Will be

                           H---I---J topicB
/
E---F---G topicA
/
A---B---C---D master

Submodules

CommandDescription
git clone --recursive [URL Git Repo]Clone repository that contain git submodule
git submodule update --initClone all submodule from remote repository
git submodule add -b [branch] [URL Git Repo]Add submodule from remote repository and define [branch]
git submodule initInitialize git submodule
cd [submodule directory]Go to submodule directory
git submodule deinit -f path/to/submoduleRemove submodule