Git使用

git branch 查看本地所有分支
git status 查看当前状态
git commit 提交
git branch -a 查看所有的分支
git branch -r 查看远程所有分支
git commit -am "init" 提交并且加注释
git remote add origin git@192.168.1.119:ndshow
git push origin master 将文件给推到服务器上
git remote show origin 显示远程库origin里的资源
git push origin master:develop
git push origin master:hb-dev 将本地库与服务器上的库进行关联
git checkout --track origin/dev 切换到远程dev分支
git branch -D master develop 删除本地库develop
git checkout -b dev 建立一个新的本地分支dev
git merge origin/dev 将分支dev与当前分支进行合并
git checkout dev 切换到本地dev分支
git remote show 查看远程库
git add .
git rm 文件名(包括路径) 从git中删除指定文件
git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来
git config --list 看所有用户
git ls-files 看已经被提交的
git rm [file name] 删除一个文件
git commit -a 提交当前repos的所有的改变
git add [file name] 添加一个文件到git index
git commit -v 当你用-v参数的时候可以看commit的差异
git commit -m "This is the message describing the commit" 添加commit信息
git commit -a -a是代表add,把所有的change加到git index里然后再commit
git commit -a -v 一般提交命令
git log 看你commit的日志
git diff 查看尚未暂存的更新
git rm a.a 移除文件(从暂存区和工作区中删除)
git rm --cached a.a 移除文件(只从暂存区中删除)
git commit -m "remove" 移除文件(从Git中删除)
git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除)
git diff --cached 或 $ git diff --staged 查看尚未提交的更新
git stash push 将文件给push到一个临时空间中
git stash pop 将文件从临时空间pop下来
-------------------------------------------------------------------------------

  1. git pull 更新服务器代码到本地
    a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支

  2. git push 将本地代码提交到服务器

  3. git log 查看提交信息
    a). git log -p 查看历次的log信息及更改情况
    b). git log -p -4 查看距现在最近的4次的log信息及更改情况
    c). git log frameworks/ 查看关于frameworks/目录修改相关的log信息
    d). git log --stat 查看log显示文件修改情况
    e). git log --stat packages/apps/Contacts/ 查看关于packages/apps/Contacts/目录修改相关的log显示的文件修改情况

  4. git status 查看工作目录和代码仓库的改动情况

  5. git diff 查看工作目录和本地仓库的差异或者本地仓库各个版本的差异
    a). git diff packages/apps/Contacts/AndoridManifest.xml 查看工作目录中AndoridManifest.xml和本地仓库中AndoridManifest.xml的不同
    b). git diff b46cae3b9a377bcd9cfc249a5778fce647feb961 dc94bf29aab18168e79d6496a89e47dba7a1d494 查看这两个版本的不同(git diff history_old history_current)

  6. git commit 提交当前修改内容
    a). git commit file1 file2 -m "log message" 提交file1,file2到本地仓库
    b). git commit -a -m "log message" 提交所有在Git索引中的改动

  7. git add 增加文件到Git索引
    a). git add file3 file4 将file3,file4加入到Git索引中

  8. git rm 从Git索引移除文件
    a). git rm file3 将file3从Git索引中删除,并从本地删除
    b). git rm --cached FileName 将文件从Git索引中删除,不删除实际的文件

  9. Git branch 对分支的增、删、查操作

a). git branch 显示所有本地分支
b). git branch new_branch 在当前版本创建一个名为new_branch的分支
c). git branch -D new_branch 强制删除名为new_branch的分支
d). git branch -r查看服务器上分支
e). git branch -a 显示服务器和本地的所有分支

  1. git checkout 在不同的branch切换和还原文件

a). git checkout branch1 切换到branch1分支
b). git checkout origin/cmcc -b cmcc从服务器上pull分支origin/cmcc到本地的cmcc分支
c). git checkout /packages/apps/Contacts/AndroidManifest.xml 会将AndroidManifest.xml文件从上一次提交的版本更新回来,未提交的部分会全部回滚
d). git checkout /package/app/Contacts/ 重新拉这个目录里的文件到本地,如果你不小心把这个目录删除了,可以用这个来恢复
e). git checkout origin/m9002 -b m9002 下载远程分支origin/m9002到本地分支m9002

  1. git reset 将当前的工作目录完全回滚到指定的版本号

a). git reset [--fixed] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1 只更新索引,不更新工作目录,也就是说所有的本地文件都不会更新
b). git reset [--soft] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1
c). git reset [--hard] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1 强制回滚到指定版本号,未提交的和此版本之后的更改全部删掉
d). git reset --hard origin/master 强制和服务器上的master同步

  1. git merge

a). git merge branch1 将branch1的改动合并到当前所在分支

  1. git patch
    a). git format-patch -1 打一个当前提交的补丁,也就是最后一次的提交改动
    b). git fromat-patch -1 6525c43add803bfee37cf5c1cb573ed8aecf529e 打一个指定具体某一次的补丁
    c). git format-patch -2 6525c43add803bfee37cf5c1cb573ed8aecf529e 打基于指定具体某个版本的接连两次的补丁

  2. git am

git am xxx.patch提交patch

git am --abort 将git的状态恢复到之前状态就可以继续提交patch了

  1. tig linux下Git的界面化工具
    a). tig查看当前仓库的所有记录
    b). tig packages/apps/Launcher2/查看目录packages/apps/Launcher2/下的所有记录

  2. 很多命令都可以加上目录来限制操作内容

  3. git config

git config --global color.ui true git使用彩色

git config --global core.editor vim 使用vim编辑器

  1. git stash

    git stash 隐藏工作目录的改变

    git stash pop 恢复工作目录的改变

  2. git whatchanged

git whatchanged packages/apps/Contacts/ 查看目录packages/apps/Contacts/下的文件修改状况

git命令详解(转)的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. Git命令详解

    一个中文git手册:http://progit.org/book/zh/ 原文:http://blog.csdn.net/sunboy_2050/article/details/7529841 前面两 ...

  3. git命令详解( 七 )

    此为git命令详解的第七篇 这章我们可以来逐渐揭开 git push.fetch 和 pull 的神秘面纱了.我们会逐个介绍这几个命令,它们在理念上是非常相似的.   git push的参数 git ...

  4. git命令详解( 四 )

    此篇为git命令详解的第四篇,话不多说,我们直接上知识点好吧 git Push 偏离的工作 gitPush: 此命令负责将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录.一旦 git ...

  5. Git 命令详解及常用命令

    Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: 1 2 3 4 Work ...

  6. git命令详解( 二 )

    这是git详解的第二篇,最近这个加班有点虚,所以文章也写的比较懒了,一到加班不得已,保温杯里泡枸杞啊,不扯了,今天我们来看看git的第二篇 这篇内容主要是git的一些远程命令 远程仓库 git clo ...

  7. Git命令详解(一)-个人使用

    本文暂时不会涉及到团队如何使用Git的内容,而是从个人的角度探讨如何用好Git. 约定 绿色的5位字符表示提交的ID,文中用<commit>表示,分别指向父节点.分支用橘色显示,分别指向特 ...

  8. git命令详解( 六 )

    此为git命令的第六篇 远程跟踪分支 不知道大家有没有发现在前面几篇中Git 好像知道 master 与 o/master 是相关的.当然这些分支的名字是相似的,可能会让你觉得是依此将远程分支 mas ...

  9. git命令详解( 八)

    此为记录git的第八篇,前七篇为远程篇,工作中最常用的都在前七篇,因为要在远程分支上合作开发     在提交树上移动 撤销变更 在提交树上移动 在接触 Git 更高级功能之前,我们有必要先学习在你项目 ...

  10. git命令详解( 三 )

    此篇为git命令的第三篇 目录 git Pull 模拟团队合作 Git Pull 在上一篇的结尾我们已经知道了如何用 git fetch 获取远程的数据, 现在我们学习如何将这些变化更新到我们的工作当 ...

随机推荐

  1. 去除手机端触摸滑动事件ontouchmove

    window.ontouchmove=function(e){ e.preventDefault && e.preventDefault(); e.returnValue=false; ...

  2. 17996 Daily Cool Run (dp)

    时间限制:1000MS  内存限制:65535K 提交次数:0 通过次数:0 题型: 编程题   语言: 不限定 Description Daily Cool Run is a popular gam ...

  3. SQL SERVER获取数据库中所有表名 XTYPE类型

    SELECT (case when a.colorder=1 then d.name else null end) 表名, a.colorder 字段序号,a.name 字段名,  (case whe ...

  4. linux 安装vbox增强工具

    首先在虚拟机控制台点设备--------安装增强功能,这样会用虚拟光驱加载增强功能镜象. 然后打开终端,先转到root身份:=================su================= f ...

  5. php 从myslql里导出到excel

    //导出excel 只wps可以打开public function takexcelAction(){ $name = $this->input->get_post('name'); $i ...

  6. BZOJ 1412 & 最小割

    什么时候ZJ省选再现一次这么良心的题吧... 题意: 在一个染色的格子画分割线,使其不想连,求最少的线段 SOL: 裸裸的最小割.题目要求两种颜色不想连,我们把他分到两个集合,也就是把所有相连的边切断 ...

  7. Leetcode Binary Tree Postorder Traversal

    Given a binary tree, return the postorder traversal of its nodes' values. For example:Given binary t ...

  8. jQuery 源码理解的基础

    /** * Created by cyk on 14-4-17. */function Person() { var temp = this; //this指向Person console.log(& ...

  9. JavaScript进阶篇

    组团,并给团取个名(如何创建数组) 使用数组之前首先要创建,而且需要把数组本身赋至一个变量.好比我们出游,要组团,并给团定个名字“云南之旅”. 创建数组语法: var myarray=new Arra ...

  10. BZOJ4491: 我也不知道题目名字是什么

    Description 给定一个序列A[i],每次询问l,r,求[l,r]内最长子串,使得该子串为不上升子串或不下降子串 Input 第一行n,表示A数组有多少元素接下来一行为n个整数A[i]接下来一 ...