本文所涉及命令基本可以涵盖日常开发场景, 对于开发者平时很少使用的命令不再列举,这样不至于让刚刚使用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. 移动文件读/写指针----lseek

    头文件:#include<sys/types.h>.#include<unistd.h> 函数原型:off_t lseek(int fildes,off_t offset,in ...

  2. Android教程:wifi热点问题

    http://www.linuxidc.com/Linux/2012-05/60718.htm 现在很多移动设备都提供wifi hostpot功能,使用方便,也省下了原来无线路由器的成本.wifi和w ...

  3. Tomcat中的Web.xml和servlet.xml的学习

    Web.xml文件使用总结 作用: 存储项目相关的配置信息,保护servlet.解耦一些数据对程序的依赖 使用位置: 每个web项目中 Tomcat服务器中(在服务器目录conf目录中) 区别: We ...

  4. 2018.09.16 loj#10243. 移棋子游戏(博弈论)

    传送门 题目中已经给好了sg图,直接在上面跑出sg函数即可. 最后看给定点的sg值异或和是否等于0就判好了. 代码: #include<bits/stdc++.h> #define N 2 ...

  5. 全球晶圆代工厂哪家强?2016年Top30名单

    1.台积电(TSMC) 总部:台湾 简介:世界上最大的独立半导体晶圆代工企业,与联华电子并称“晶圆双雄”. 主要客户:苹果,高通,联发科,华为海思 官网:http://www.tsmc.com/ 2. ...

  6. Shell 中expr的使用

    1.expr命令一般用于整数值,其一般格式为:expr argument operator argument一般的用法是使用expr做算术运算,如:[root@centos ~]# expr 10 + ...

  7. IntelliJ IDEA 2017版 编译器使用学习笔记(二) (图文详尽版);IDE快捷键使用

    补充介绍IntellJ 介绍主菜单功能及相关用途: File -------------> 对文件进行操作 Edit ------------> 对文本进行操作 View -------- ...

  8. 一文读懂:超详细正态分布方差等于o的推导

    (uv)' = [(u+△u)(v+△v) - uv] /△x = (v△u+u△v +△u△v)/△x = v(△u/△x) + u(△v/△x) +(△u△v)/△x =u'v+uv'

  9. (动态规划 01背包 打印路径) CD --UVA --624

    链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87813#problem/G 每个CD的时间不超过 20没有哪个CD的时间是超过N ...

  10. HDU2577 How to Type 2016-09-11 14:05 29人阅读 评论(0) 收藏

    How to Type Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...