【本文由水木桶首发于博客园,原文地址:https://www.cnblogs.com/shuimutong/p/11404664.html,未接允许,严禁转载】

背景

很久之前使用的是svn,直接在Eclipse里点击即可使用。后来开始使用git,虽然Eclipse里有git的工具,但是使用起来有诸多不畅,最终转向了gitbash。虽然网上有许多教程,但是距离使用还需要进一步的整理,所以就接着博客整理一下使用步骤。一方面为了记忆,一方面为了后期使用。

一、安装

git客户端网上一搜就搜到了,但是没有“上网”下载起来真心慢。关于下载gitbash客户端 之前我写了一篇文章,主要是通过手机热点的方式下载的,速度还不错。

二、基本操作

按照代码开发流程进行描述

1、克隆资源到本地

git clone +资源路径
示例:git clone https://github.com/shuimutong/gdao.git

2、拉取最新代码

git pull

3、查看分支

git branch 查看本地分支

git branch -a  查看所有分支

4、切换到(检出)指定分支

git checkout +分支名

示例:git checkout dev-1

5、查看分支状态

git status

查看本地是否有修改

6、比对

git diff

和代码库对比已经修改但是还没有提交的代码

git diff 分支名称

和指定分支的代码进行比较,可用于codeReview

7、添加准备提交的修改

添加指定文件:git add +文件(夹)名

添加全部:git add .

7-1、添加后如何取消

git reset HEAD

取消上一次add的内容

git reset HEAD log4j-learn

取消添加的log4j-learn文件

8、提交修改到本地库

git commit -m "注释"

提交修改并添加注释

9、将提交推送到远程

git push

10、暂存代码,还原暂存代码

git stash

将当前修改暂存起来

git stash pop

将最近一次暂存的代码还原

git checkout .

还原本地修改

三、分支、标签概念

1、概述

分支用于开发,标签用于备份版本。

分支可以进行不断修改,标签代码不是用来进行不断修改的。

2、分支

一个项目需要开发一个新需求,那么我们就创建一个分支,此需求的开发都是在这个分支上进行。

a、创建新分支

git checkout -b 分支名称

//创建分支依赖于当前所处的分支,可以切换到任意分支来创建新分支。

b、将新分支推到远程

git push --set-upstream origin 分支名称

3、标签

前面开发的那个新需求上线了,我们把上线的最终版本打一个tag,以方便后期查看。

a、打tag

git tag -a 标签名称 -m "注释"

b、将tag推到远程

git push origin 标签名称

c、查看已有tag

git tag

d、检出tag代码

git checkout 标签名称

四、合并代码

假设项目gdao存在分支master、dev-1-simple

master有代码更新,需要将新代码合并到dev-1-simple。

具体步骤:

1、提交当前分支的修改

2、git checkout master //切换到master

3、git push //拉取最新代码

4、git checkout dev-1-simple  //切换到开发分支

5、git merge master  //将master合并到开发分支

6、冲突处理

7、提交合并后的代码到远程

因本人水平有限,如有问题,还请多多指教。

Git使用整理的更多相关文章

  1. Git 初学者使用指南及Git 资源整理

    Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...

  2. git相关整理

    title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...

  3. Git 常见问题整理

    在学习git的过程中,遇到如下问题,特整理如下: 1 error:src refspec master does not match any 问题产生 a git服务器使用如下命令新建一个项目 $ c ...

  4. 常用git命令整理

    花了一点时间来熟悉和整理git常用命令. 推荐的git学习资料:1.搜“Git Community Book 中文版.pdf”,git社区书,内容全面且简明扼要,第一推荐2.搜“Git权威指南.pdf ...

  5. 常见 git 需求整理(持续更新中)

    首发于 语雀文档 突然感觉自己对 git 还是挺熟悉的,因为团队里新来的七八号应届生来问我 git 问题,基本没有答不上的情况,但为了能更好地对知识进行整理,还是记录一下为好. (希望能)持续更新.. ...

  6. Git 笔记整理3

    1,git clone某一个分支 git clone -b <branch> <remote_repo> 2,.git 文件太大 :clone的时候,可以指定深度,如下,为1即 ...

  7. Git笔记 整理2

    补充: 1,如何只克隆git仓库中的一个分支? git clone -b <branch> <remote_repo> eg:  git clone -b vivien_dev ...

  8. Git命令整理

    说在前面: 刚开始在实习时接触git,是用git可视化工具,但是仅限于克隆库.切换分支.抓取和推送,对于其中的原理不甚了解.看了廖雪峰老师Git教程,获益颇丰.特别要感谢我工作中的同事,是他强烈建议我 ...

  9. git 命令整理

    记录一些git 命令,以便自己以后查阅 基本命令   1.git add (保存工作区的变动到暂存区) git add . 和git add -A把整个工作区添加到暂存区 2.git commit ( ...

随机推荐

  1. MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法

    MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法 事情的起因     今天课堂上要展示小组项目,需要用一个软件叫W ...

  2. freeNAS nfs linux挂载

    新建存储块,设置权限为root wheel 备份修改/var/lib/nova 名称 新建/var/lib/nova 目录,修改目录的属主机权限 mv /var/lib/nova /var/lib/n ...

  3. Sharding-Jdbc 自定义分库分表-复合分片算法自定义实现

    Sharding-JDBC中的分片策略有两个维度,分别是: 数据源分片策略(DatabaseShardingStrategy) 表分片策略(TableShardingStrategy) 其中,数据源分 ...

  4. docker 安装redis cluster集群

    安装Redis镜像 docker pull yyyyttttwwww/redis 创建redis容器 docker run -it -d --name r1 -p 5001:6379 --net=ne ...

  5. [转]使用 curl 发送 POST 请求的几种方式

    HTTP 的 POST 请求通常是用于提交数据,可以通过这篇文章来了解各种提交方式:四种常见的 POST 提交数据方式.做 Web 后端开发时,不可避免地要自己给自己发请求来调试接口,这里要记录的内容 ...

  6. C#中 ??、 ?、 ?: 、?.、?[ ] 问号

    1. 可空类型修饰符(?) 引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型也 ...

  7. ISO/IEC 9899:2011 条款3——术语、定义与符号

    3. 术语.定义与符号 1.对于此国际标准的意图,应用了以下定义.其它术语是在用斜体类型或一个语法规则左侧出现的地方定义.在本国际标准中所显式定义的术语不被假定为对其它地方所定义的类似术语的隐式引用. ...

  8. python web开发——django学习(二)第一个django网站运行成功

    1.写message_form.html <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  9. 映美FP-530K+打印发票的各种经验

    本人虽然写了很多lodop博文,但是程序开发一般都是用虚拟打印机测试,实际打印机打印中还可能存在各种问题,毕竟理论都不如实践能获得更多的打印经验.当个人使用过的打印机不多,只有映美FP-530K+,用 ...

  10. aligin-items与aligin-content的区别

    align-items 属性使用于所有的flex容器,它是用来设置每个flex元素在侧轴上的默认对齐方式 aligin-items 与align-content有相同的功能,不过不同点是它是用来让每一 ...