Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119612
  • 博文数量: 36
  • 博客积分: 181
  • 博客等级: 入伍新兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-03 21:04
个人简介

宁静致远:客观 公平 公正 踏实 务实 诚实. 无需努力 只需坚持

文章分类

全部博文(36)

文章存档

2016年(4)

2013年(30)

2012年(2)

分类: 项目管理

2016-07-21 09:17:18

常用Git命令速查笔记


Git基础操作

几幅有助于理解GIT操作流程的示意图:

创建项目的Git仓库

从当前目录初始化

1 2 
$ git init                 将当前目录初始化为git仓库 $ git init [project-name]  新建一个目录,将其初始化为Git代码库 

初始化后,在当前目录下会出现一个名为.git的目录,所有Git需要的数据和资源都存放在这个目录中。

1 2 
$ git add [file]              添加到暂存区 $ git commit -m 'comments' check in到仓库 

从现有仓库clone

1 
$ git clone git://github.com/schacon/grit.git    从现有仓库克隆 

查看状态

1 
$ git status 

查看diff

1 2 3 
$ git diff              查看当前文件(工作区)与暂存区的差异 $ git diff --cached     查看暂存文件与上次提交的差异 $ git diff HEAD         查看工作区与上次提交的差异 

跳过使用暂存区域

1 
$ git commit -a -m 'comments' 

移除文件

1 2 
$ git rm [file]           从仓库移除,同时也从本地文件夹删除 $ git rm --cached [file]  从仓库移除,但不从本地文件夹删除 

移动/重命名文件

1 
$ git mv [file_from] [file_to] 

查看提交历史

1 2 
$ git log 查看提交历史 $ git log --p -2 查看提交内容差异, 显示2 

撤销操作

修改最后一次提交

1 2 
$ git add [forgotten_file]    补上暂存操作 $ git commit --amend          运行 --amend 提交 

撤销暂存区的文件(即撤销已经git add操作)

1 
$ git reset HEAD  

取消对文件的修改

1 
$ git checkout --  

在历史版本之间切换

1 2 
$ git reflog          查看命令历史, 可以显示历史commit id $ git reset --hard [commit_id] 

Git 分支


查看分支信息

1 2 3 
$ git branch      list所有本地分支 $ git branch -r   list所有远程分支 $ git branch -a list所有分支 

新建分支

1 2 
$ git branch [branch-name]    新建一个分支,但依然停留在当前分支 $ git checkout -b [branch]    新建一个分支, 并切换到该分支 

切换分支

1 
$ git checkout [branch-name]    切换到指定分支 

合并分支

1 
$ git merge [branch]     合并指定分支到当前分支 

删除分支

1 
$ git branch -d [branch-name]     删除指定分支 

解决冲突

1 2 3 
$ git status           查看文件冲突信息 $ git add [file_name]  将冲突文件标记为解决 $ git mergetool        使用可视化的合并工具 

远程仓库的使用

显示远程仓库

1 2 
$ git remote      显示仓库名 $ git remote -v   显示详细信息 

添加远程仓库

1 
$ git remote add [shortname] [url] 

从远程仓库抓取数据

1 
$ git fetch [remote-name] 

此命令会到远程仓库中拉取所有你本地仓库中还没有的数据.
需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。

1 
$ git pull [remote] [branch]   取回远程仓库的变化,并与本地分支合并 

推送数据到远程仓库

1 
$ git push [remote-name] [branch-name]  上传本地指定分支到远程仓库 

查看远程仓库信息

1 
$ git remote show [remote-name]  查看某个远程仓库的详细信息 

跟踪远程分支

1 
$ git checkout -b [分支名] [远程名]/[分支名] 

删除远程分支

1 
$ git push [remote-name] :[branch-name] 

标签操作

列显已有的标签

1 
$ git tag 

新建标签

含附注的标签

1 
$ git tag -a [tag_name] -m 'comments' 

轻量级标签

1 
$ git tag [tag_name] 

查看标签信息

1 
$ git show [tag_name] 

推送标签到远程仓库

1 
$ git push [remote] [tag_name] 

新建一个分支,指向某个tag

1 
git checkout -b [branch] [tag_name] 

学习网站




阅读(1393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~