【本文由水木桶首发于博客园,原文地址: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、提交合并后的代码到远程
因本人水平有限,如有问题,还请多多指教。