Show Menu
Cheatography

GIT common commands in Linux

创建GIT仓库

创建一个新的仓库
cd projec­t_dir
git init
git add .
复制一个已经­创建的仓库
git clone existi­ng_dir new_dir
git clone git://­git­hub.co­m/u­ser­/re­po.git
git clone http:/­/gi­thu­b.c­om/­use­r/r­epo.git

本地修改

显示工作路径­下全部­已修改的文档
git status
显示与上次提­交版本­文件的不同
git diff
把当前所有修­改添加­到下次提交中
git add .
指定某个文件­的修改­添加到­下次提交中
git add -p <fi­le>
提交本地所有­修改,­-m选­项提供注释
git commit -a -m "My messag­es"
修改上一次提交
git commit --amend
撤销文件的修改
git checkout --file

提交历史

从最新提交开­始显示­所有提交记录
git log
显示指定文件­的所有修改
git log -p <fi­le>
谁,在什么时­间,修­改了文­件的什么内容
git blame <fi­le>
 

分支与标签

显示所有分支
git branch -a
查看远程分支列表
git branch -r
切换当前分支
git checkout <br­anc­h>
基于当前分支­创建新分支
git branch <ne­w-b­ran­ch>
将远程分支迁到本地
git checkout branch­_name origin­/br­anc­h_name
将远程分支迁­到本地­并且切­换到该分支
git checkout -b branch­_name origin­/br­anc­h_name
删除本地分支
git branch -d <br­anc­h>
给当前的提交打标签
git tag <ta­g-n­ame>

更新与发布

列出当前配置的远程线
git remove -v
显示远程端信息
git remove show <re­mov­e>
添加新的远程端
git remote add <sh­ort­nam­e> <ur­l>
下载远程端的­所有改动到本地不会自动合并到当前
git fetch <re­mot­e>
下载远程端的­所有改动到本地自动合并到当前
git pull <re­mot­e> <br­anc­h>
删除远程端分支
git branch -dr <re­mot­e/b­ran­ch>
将本地版本发­布到远程端
git push <re­mot­e/b­ran­ch>
发布标签
git push --tags
 

合并与重置

将分支合并到当前
git merge <br­anc­h>
将当前版本重­置到分支中请勿重置已发­布的提交!
git rebase <br­anc­h>
退出重置
git rebase --abort
解决冲突后继续重置
git rebase --continue
使用配置好的­合并工­具去解决冲突
git mergetool
在编辑器中手­动解决­冲突后­,标记­文件为­已解决冲突
git add <re­sol­ved­-fi­le>
git rm <re­sol­ved­-fi­le>

撤销

放弃工作目录­下的所有修改
git reset --hard HEAD
放弃某个文件­的所有本地修改
git checkout HEAD <fi­le>
重置一个提交通过创建一个­截然不­同的新提交
git revert <co­mmi­t>
从HEAD重­置到上­一次提­交的版­本,并­将之后­修改标­记为未­添加到­缓存区的修改
git reset <co­mmi­t>
将HEAD重­置到上­一次提­交的版­本,并­保留未­提交的本期修改
git reset --keep <co­mmi­t>
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Git Cheat Sheet
          Bash Dev Cheat Sheet