下面以一个最简单的开发过程,呈现git最基本的操作命令


1、下载代码(以code命名仓库为例)

git clone xxxxx/code.git

cd code

2、查看所有分支

git branch -av

3、切换已经存在的分支

git checkout xxx

git branch #再次查看分支

4、从master新建分支,并且切换到新分支(加上-b选项)

git checkout -b feature-wdw-login master

git branch    #再次查看分支

5、在个人分支增删改代码,按照平常编写代码

撸代码
调试代码
编写单测
终于调通准备提交代码,往下看

6、提交代码分4步

#查看有那些文件是被你修改,以防修改不必要文件(有改动文件,显示红色)
git status

#添加准备要提交的代码到暂存区(有改动文件,这时候显示绿色)
git add xxx.c
#再次查看添加了什么,确保正确
git status

#提交代码到本地仓库(注意这个时候还未上传代码到git服务器)
git commit -m "[ADD]: 提交新代码xxx.py"

#真正提交代码到远程仓库,这里提交到个人分支aa
git push origin aa

常用命令


下载代码: git clone <some-git-url>

分支操作: git branch 与 git checkout

查看状态: git status

添加到暂存区: git add <some-file>

从暂存区提交: git commit -m 'commit comments'

推送到服务器: git push origin master

从服务器上拉取: git pull origin master 或者 git pull

获取代码


git clone <git-repo-url>

#查看分支,当前所在分支前面带 *

git branch -v

#从当前分支新建一个分支并切到新分支

git checkout -b <new-branch-name>

#切到另一个已经存在的分支,比如master

git checkout master

git branch -v

基础操作


查看状态

git status

添加/暂存文件

git add <some-file>

查看修改

git diff

查看已暂存的内容

git diff --cached

提交修改

git commit # 或者 git commit -m 'Fix some bugs.'

移除文件

情况一:把文件删掉,Git 不再跟踪

git rm <some-file>

情况二:从 Git 中移除文件但文件本身不删除

git rm --cache <some-file>

如果是要删除文件夹,则需要加 -r 参数

git rm --cache -r <some-folder>

查看修改


查看提交历史

git log

git log -p # 查看内容差异

git log --stat # 查看统计信息

一行显示日志信息

git log --pretty=oneline

查看某用户的提交

git log --author='Tony Wu'

#如果配置按照git-bash安装指引配置了简写的,可以试下git lg查看提交图谱,信息更简洁丰富,如下查看最近20条提交

git lg -20

撤销修改


取消上一次提交

git reset HEAD^

修改上一次的提交

git commit --amend

撤销文件在暂存区的修改(回到工作区)

git reset HEAD <some-file>

撤销文件的修改(恢复原状)

git checkout -- <some-file>

撤销所有文件的修改

git checkout -- .

远程仓库拉取与推送代码


查看远程仓库

git remote # 显示远程仓库

git remote -v # 显示远程仓库详情

git remote show origin # 显示 origin 远程库的详情

从远程仓库获取,同步

git fetch <some-remote-branch>

从远程仓库拉取

git pull origin master

推送到远程仓库

git push origin master

git基本操作(入门)的更多相关文章

  1. Git基本操作和GtHub 特殊技巧

    <GitHub 入门与实践> 笔记 了解GitHub Git 和 GitHub 的区别 在Git中,开发者将源代码存入名为"Git仓库"的资料库中,并加以使用.而Git ...

  2. GIT 从入门到放弃大整理

    跟着廖雪峰学 GIT  http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GUI f ...

  3. 第三章 Git的入门 - 读书笔记

    Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...

  4. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  5. Android系统移植与驱动开发--第三章 Git使用入门及在学习中有感

    第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译. 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的 ...

  6. 让 Python 带你进入开源的世界——Git 从入门到与他人协作开发

    让 Python 带你进入开源的世界--Git 从入门到与他人协作开发 我认为开源社区中有很多优秀的资源,并且可以帮助进阶中的程序员提高编程能力和水平.所以,我发起了<HelloGitHub&g ...

  7. Git快速入门进阶篇

    本文接着Git快速入门篇,继续探讨Git在管理项目中的一些应用. 远程仓库的使用 查看远程仓库 查看你已经配置的远程仓库服务器,可以运行 git remote 命令.指定选项 -v,会显示需要读写远程 ...

  8. git快速入门 push/clone/reset/merge/切换分支全都有

    本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...

  9. Git学习系列之Git基本操作拉取项目(图文详解)

    前面博客 Git学习系列之Git基本操作推送项目(图文详解) 当然,如果多人协作,或者多个客户端进行修改,那么我们还要拉取(Pull ... )别人推送到在线仓库的内容下来. 大神们是不推荐使用 pu ...

  10. Git学习系列之Git基本操作推送项目(图文详解)

    前面博客 Git学习系列之Git基本操作提交项目(图文详解) 如果完成到一定程度,那么可以推送到远端在线仓库. 推送之前,请确保你已经设置了全局的 user.name 和 user.email, 如果 ...

随机推荐

  1. 简单使用SOCKET,TCP,UDP模式之间的通信

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中, ...

  2. 基于GDAL的栅格图像空间插值预处理

    转自 基于GDAL的栅格图像空间插值预处理——C语言版 基于GDAL的栅格图像预处理 前言 栅格数据和矢量数据构成空间数据的主要来源,怎样以开源方式读取并处理这些空间数据?目前有多种开源支持包,这里只 ...

  3. python第四讲

    三元运算符: 三元运算又叫三目运算,是对简单的条件语句的缩写. 书写格式: n1 = 值1 if 条件 else 值2 # 如果条件成立,那么将 “值1” 赋值给n1变量,否则,将“值2”赋值给n1变 ...

  4. Hibernate4之session核心方法

    在学习session的核心方法之前,我们先了解下hibernate中几种对象的状态: 暂时状态:这样的状态就好像咱们公司请的暂时员工一样,他在公司里没有相关的资料和id. 特点:在使用代理主键的情况下 ...

  5. 基于Cocos2dx + box2d 实现的愤慨的小鸟Demo

    1. Demo初始界面 2. 游戏界面 3. 精确碰撞检測 4. 下载  压缩文件文件夹 AngryBird source    愤慨的小鸟Demo源码,基于Cocos2dx C++,以及box2d技 ...

  6. Hibernate 之 二级缓存

    在上篇文章中我们对缓存以及Hibernate的一级缓存进行了介绍,接下来的主要内容将是Hibernate的二级缓存. 二级缓存也称为进程级的缓存或SessionFactory级的缓存,二级缓存可以被所 ...

  7. su 和 su- 会影响环境变量

    大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户,Linux中切换用户的命令是su或su -,下面就su命令和 ...

  8. 汉诺塔算法c++源代码(递归与非递归)[转]

     算法介绍: 其实算法非常简单,当盘子的个数为n时,移动的次数应等于2^n - 1(有兴趣的可以自己证明试试看).后来一位美国学者发现一种出人意料的简单方法,只要轮流进行两步操作就可以了.首先把三根柱 ...

  9. YTU 2596: 编程题B-日期格式

    2596: 编程题B-日期格式 时间限制: 1 Sec  内存限制: 128 MB 提交: 981  解决: 74 题目描述 注:本题只需要提交编写的函数部分的代码即可. 将输入的日期格式 月/日/年 ...

  10. CentOS 7下修改rabbitmq打开文件数量方法

    以下为使用systemd的修改方法:   1.系统层修改: 通过修改sysctl配置,提高系统的打开文件数量 vim /etc/sysctl.conf,添加: fs.file-max = 65535 ...