本文所涉及命令基本可以涵盖日常开发场景, 对于开发者平时很少使用的命令不再列举,这样不至于让刚刚使用git的小伙伴们看的脑袋大。。。如有特殊使用可以联系我单独回复。

  

  首先通过一张图了解git的工作流程:

  

  然后说一下项目开发中使用git的具体工作流程:

    1)进入项目根目录

    2)git status:  查看当前所在的分支, 本地代码状态(哪些代码修改过,是否有冲突,是否已经添加到git索引, 是否已经将代码提交到本地等信息)

    3)git add <option>; 添加指定文件到git索引。git add 详解请看下文

    4)git commit -m "描述"; 提交代码到本地仓库。ps: git 强制要求添加描述,描述这次更改过哪些信息等

    5)git pull origin 当前分支名; 将当前分支远程代码同步到本地仓库。

    6)我靠,冲突啦,冲突啦,怎么办怎么办。。。删项目重新clone吧。。。这可能是新人最标准的想法。(~ ̄▽ ̄)~ 别着急,其实很简单

    7)找到冲突文件,和修改过该文件的相关同事商量哪些是他改动的,一起参与合并, 切近不要在没经过商量的前提下擅自删除别人的代码,这是非常不负责任的做法。

    8)重复执行(3)(4)(5)步: 将合并后的文件重新索引至git,并提交到本地,再次pull确认远程最新代码已被更新

    9)git push origin 当前分支名; 将本地仓库代码推送至远程仓库。

    

  上述流程图:

  

下文只列出最常用的命令, 单个命令的详解后续将更新

git branch: 分支列表、创建、删除、更名

git branch -a              # 查看所有分支,包括本地和远程仓库
git branch -r              # 查看所有远程分支
git branch 分支名            # 创建新分支
git branch -d 分支名           # 删除本地指定分支。-D为强制删除。如要删除远程仓库该分支执行git push origin :分支名。注意冒号前面有个空格
git checkout 分支名           # 切换至指定分支
git checkout -b 分支名          # 创建新分支,并切换至新分支
git branch -m 老分支名 新分支名     # 更改本地分支名

git add: 将指定文件添加至git索引

git add <file>      # 将本地指定文件名或目录的文件添加到git索引
git add . # 将当前文件夹下所有改动(新增,修改等变动过的)的文件添加到git索引
git add -A # 将本地所有改动(新增,修改等变动过的)的文件添加到git索引  

git commit: 将添加到git索引的文件提交到本地仓库

git commit -m "description"        # 将已经被git索引(git add之后的)的文件提交到本地仓库(暂存区), -m 后为描述
git commit -am # 把修改的文件添加到暂存区,但不包含新增的文件,然后提交。 

git pull: 拉取远程仓库最新文件  

git pull origin 远程分支名                #拉取远程指定分支最新文件到本地  

git push: 将本地仓库(暂存区)文件推送至远程仓库

git push origin 远程分支名                #将本地仓库(暂存区)文件推送至远程仓库

  

 

git小白使用教程(一)的更多相关文章

  1. Git使用详细教程(一)

    很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...

  2. 在Dropbox上搭建私有的Git仓库的教程

    导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...

  3. git github 使用教程

    参考文章:文章地址: http://wuyuans.com/2012/05/github-simple-tutorial/ github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般 ...

  4. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  5. git 入门教程之 git 私服搭建教程

    git 私服搭建教程 前几节我们的远程仓库使用的是 github 网站,托管项目大多是公开的,如果不想让任何人都能看到就需要收费,而且 github 网站毕竟在国外,访问速度太慢,基于上述两点原因,我 ...

  6. Git&GitHub-基础教程

    目录 1. Git简介 1.1 什么是版本控制系统? 1.2. Git的历史 1.3. 什么是分布式?什么是集中式? 2. Git安装 3. 创建一个版本库 4. Git的语法教程 4.1. 提交一个 ...

  7. 图解Windows下 GIT GUI 使用教程

    https://jingyan.baidu.com/article/19020a0a7ae6af529c284248.html 本篇经验将和大家介绍Windows下 GIT GUI 使用教程,希望对大 ...

  8. Git 相关工具及教程地址

    一.Git GUI 客户端 Git 客户端下载(Windows) TortoiseGit 客户端下载(Windows) Sourcetree 客户端下载(Windows.Mac) Git Extens ...

  9. FastAdmin 推荐 Git 在线学习教程

    FastAdmin 推荐 Git 在线学习教程 因为 FastAdmin 推荐使用 Git 管理代码,有很多小伙伴对 Git 不是很熟悉. 也苦于找不到好的教程,我就分享一个 Git 在线学习教程. ...

随机推荐

  1. 【UML】UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

    http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的 ...

  2. Java数据结构和算法(四)赫夫曼树

    Java数据结构和算法(四)赫夫曼树 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 赫夫曼树又称为最优二叉树,赫夫曼树的一个 ...

  3. WCF数据契约代理和已知类型的使用

    using Bll; using System; using System.CodeDom; using System.Collections.Generic; using System.Collec ...

  4. 【转】Hibernate的getSQLQuery方法对char类型的解析问题

    [转]Hibernate的getSQLQuery方法对char类型的解析问题 建立数据库: create table T_TEST1( id char (32), name varchar (255) ...

  5. 2018.10.02 NOIP模拟 聚会(前缀和)

    传送门 今天的签到题. 直接前缀和处理一下就秒了. 然而考试的时候智障用线段树维护被卡成了30分,交到OJ一测竟然有100? 搞得我都快生无可恋了. 如果用线段树来做可以类比这道题的写法,直接维护区间 ...

  6. hadoop学习笔记(五):java api 操作hdfs

    HDFS的Java访问接口 1)org.apache.hadoop.fs.FileSystem 是一个通用的文件系统API,提供了不同文件系统的统一访问方式. 2)org.apache.hadoop. ...

  7. SPSS-多重响应-频率和交叉表案例分析(问卷调查分析)

    在10.1休假前,希望跟大家讨论一下SPSS-多重响应--频率和交叉表分析,希望大家能够多提点提点 在云南电信网上营业厅做了一个关于“客户不使用电信3g业务的原因有哪些的问卷调查,问题所示: 这份问卷 ...

  8. 使用原生Java Web来实现大文件的上传

    版权所有 2009-2018荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

  9. post异步请求

    //创建url NSURL *url = [[NSURL alloc] initWithString:@"http://api.hudong.com/iphonexml.do"]; ...

  10. 用Execute操作数据库

    1.原型是:_ConnectionPtr Execute( _bstr_t CommandText, VARIANT * RecordsAffected, long Options ); 参数 1. ...