Git使用整理
【本文由水木桶首发于博客园,原文地址: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使用整理的更多相关文章
- Git 初学者使用指南及Git 资源整理
Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...
- git相关整理
title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...
- Git 常见问题整理
在学习git的过程中,遇到如下问题,特整理如下: 1 error:src refspec master does not match any 问题产生 a git服务器使用如下命令新建一个项目 $ c ...
- 常用git命令整理
花了一点时间来熟悉和整理git常用命令. 推荐的git学习资料:1.搜“Git Community Book 中文版.pdf”,git社区书,内容全面且简明扼要,第一推荐2.搜“Git权威指南.pdf ...
- 常见 git 需求整理(持续更新中)
首发于 语雀文档 突然感觉自己对 git 还是挺熟悉的,因为团队里新来的七八号应届生来问我 git 问题,基本没有答不上的情况,但为了能更好地对知识进行整理,还是记录一下为好. (希望能)持续更新.. ...
- Git 笔记整理3
1,git clone某一个分支 git clone -b <branch> <remote_repo> 2,.git 文件太大 :clone的时候,可以指定深度,如下,为1即 ...
- Git笔记 整理2
补充: 1,如何只克隆git仓库中的一个分支? git clone -b <branch> <remote_repo> eg: git clone -b vivien_dev ...
- Git命令整理
说在前面: 刚开始在实习时接触git,是用git可视化工具,但是仅限于克隆库.切换分支.抓取和推送,对于其中的原理不甚了解.看了廖雪峰老师Git教程,获益颇丰.特别要感谢我工作中的同事,是他强烈建议我 ...
- git 命令整理
记录一些git 命令,以便自己以后查阅 基本命令 1.git add (保存工作区的变动到暂存区) git add . 和git add -A把整个工作区添加到暂存区 2.git commit ( ...
随机推荐
- 微信小程序之页面导航栏
效果图: 页面有点丑,作为初次学习,页面可以要求不那么美观,先学会再说.毕竟后面可以优化的很漂亮. 代码实例如下: <view class="section btn-area" ...
- 啃OBS源码-界面汉字
插件对应该字体目录:D:\project\vs\obs\obsstudio21.12\build\rundir\Debug\data\obs-plugins obs对应该字体目录:D:\project ...
- MYSQL事务的开启与提交
MYSQL 事务处理主要有两种方法: 1.用 BEGIN, ROLLBACK, COMMIT来实现 BEGIN 开始一个事务 ROLLBACK 事务回滚 COMMIT 事务确认 2.直接用 SET 来 ...
- ESXi6.5上的Ubuntu虚机在远程SSH时宕机
情况是这样的, 有一个ESXi6.5上跑的Ubuntu虚机, 版本是18.04.1, 今天升级成18.04.2后, 就发现远程连接SSH不对劲, 在本地登录和操作都好好的, 只要远程SSH一连接, 服 ...
- python笔记之按文件名搜索指定路径下的文件
1.搜索文件名中以指定的字符串开头(如搜索dll,结果中含有dll a,dll abc等) 我的目录下有dll a.txt和dll.txt文件 其中a文件夹下还有这两个文件 我希望通过python选择 ...
- Redis 操作帮助类
首先从Nuget中添加StackExchange.Redis包 1.Redis连接对象管理帮助类 using Mvc.Base; using Mvc.Base.Log; using StackExch ...
- C++实现委托机制(三)——lambda表达式封装
C++.引言: 其实原本没打算写这一章的,不过最后想了想,嗯还是把lambda表达式也一并封装进去,让这个委托也适应lambda表达式的注册.不过在之前还是需要先了解lamb ...
- asp.net core mvc 读取appsettings.config中文乱码问题
asp.net core mvc 读取appsettings.config中文乱码问题的解决方法如下: 用记事本打开appsettings.config,另存为的时候,编码设置为 “UTF-8”,
- php中heredoc与nowdoc的使用方法、定界符<<<的使用方法
一.heredoc结构及用法 Heredoc 结构就象是没有使用双引号的双引号字符串,这就是说在 heredoc 结构中单引号不用被转义.其结构中的变量将被替换,但在 heredoc 结构中含有复杂的 ...
- LODOP设置某打印项锁定下边距
LODOP中的打印项定位都是按照top值(顶边距),left(左边距)来决定的 ,不能直接设置某打印项的下边距.此外,打印项的位置还受PRINT_INTA的前两个整体偏移值,打印机可打区域的影响.该文 ...