本文所涉及命令基本可以涵盖日常开发场景, 对于开发者平时很少使用的命令不再列举,这样不至于让刚刚使用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. 首页焦点图myFocus插件

    首页焦点图myFocus插件   myFocus特性 小巧却高效强大 myFocus v2.0.min版只有9.89KB,却能使你的网页上可以运行超过30款风格各异的焦点图,在互联网独一无二哦~ 极其 ...

  2. 20155235 2016-2017-2 《Java程序设计》第7周学习总结

    20155235 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 第十二章 Lambda 认识Lambda语法 Lambda语法概览 Lambda表达式与函数 ...

  3. 一组RS485设备操作命令

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ZNJM ...

  4. Hadoop分布式远程Debug方式

    1.进入目录修改配置文件 cd /cloud/hadoop-2.2.0/etc/hadoop vim hadoop-env.sh2.加入内容(文本最后): #远程调试NameNode export H ...

  5. Notification的功能和用法 加薪通知

    实现通知栏消息的生成和消除 MainActivity.java        public class MainActivity extends Activity   {       static f ...

  6. springMVC学习(注解实现依赖注入)

    原文:http://blog.csdn.net/mockingbirds/article/details/45399691 上一篇博客,学习了spring的依赖注入,即利用spring容器来为类中的属 ...

  7. DIV+CSS实战(五)

    一.说明 前面实现了关键词订阅模块,现在实现站点订阅模块,主要实现的是站点添加界面.站点添加界面里面实现一个提示框不在提示的功能(保存到cookie中),还有就是实现一个站点的选择框,包括输入文字自动 ...

  8. 理解Nodejs的Event Loop

    Node的“event loop”主要是用来处理高输出量的.这很神奇,这也是为什么node可以在单线程的情况下同时处理很多的后台操作.本文就会集中讲述event loop是怎么运行的,这样你可以可以使 ...

  9. 解决火狐浏览器发送jquery的ajax请求无效的问题

    今天遇到这样一个问题: 页面在chrome下发送ajax的请求是没有问题的,但是在firfox下无效. 代码大致如下: //前面省略 <form> ..... <button cla ...

  10. Latex中Matlab代码的环境

    需要用到listings宏包 使用方法: 导言区\usepackage{listings}\lstset{language=Matlab}      %代码语言使用的是matlab\lstset{br ...