git与svn的区别,简单的说,
       svn在checkout后,如果不提交,那么版本库没有记录,如果修改的文件比较多,中间想回退几个文件,非常麻烦。git 是clone下来代码和记录,不提交到服务器时,可以本地多次commit,能做到部分回退,最后push到服务器,push的除了代码变更,还没有每一次的提交记录。
另外,git对一些场景比较适用,比如新需求正在开发,突然发现线上有bug,svn随着不断提交,代码已经与生产环境有差异,最好的办法是取某个时间的版本进行修改,再一点点合并进去。而git,线上与开发可以是不同分支,可以优先改线上代码,完成debug后,将线上分支merge到开发分支,就可以了。

       1.clone代码
  命令 git clone -b dev https://github.com/xuezhankui/SpringbootExample
  黄色部分为clone dev分支,不加的话,clone下来master分支,修改分支可以通过git branch命令来改

  2.git branch命令
  首先,查询本地分支和远程分支都有哪些
  git branch -a
  黄色部分代表远程分支,没有参数显示本地分支。

  其次,改变push的分支
  因为是从master clone到本地master,所以master分支的push,必将上传到线上master分支,现在改一下。
  情况1:如果线上有dev分支,想clone这个,但是是以masterclone下来的,
  这时候只需要
  git checkout -b dev origin/dev 作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
  情况2
  使用本地dev分支,push的时候指定master分支。
  虽然不建议这么做,至少给个方法
  1.此做法与合并时有点像
  git checkout dev 切换到dev分支
  git branch --set-upstream-to=origin/master 设置push的目标
  git push
  2.一步搞定
  git push origin master

  最后,删除分支
  git branch -d 要删除的分支

  3.提交代码
  这个简单,就简单说了
  1。用git status命令,可以查看到都改了哪些文件
  2.git add
  两种方式,第一种,git add 路径/文件名
  第二种,git add * //添加所有变更文件
  3. git commit
  git commit -m “注释信息”

  4.合并以及冲突合并

  场景:在dev_feature_xx分支改完了,需要合并进dev
  方法一:
  git checkout dev 切换到dev
  git merge dev_feature_xx
  可能会产生冲突,冲突的文件可以用git status找到

  commit前也可以用 git diff dev_feature_xx dev 对比一下
  合并完冲突文件
  git add 冲突文件
  git commit -m 'merge'

  如果不确定dev对应哪个remote分支,可以执行一下
  git branch --set-upstream-to=origin/dev 设置push的目的地
  git push
  或者
  git push origin/dev

  方法2:
  git checkout dev
  git pull origin dev_feature_xx
  修改冲突文件
  git add 冲突文件
  git commit -m 'merge'
  git push origin/dev

  5 rollback
  首先了解两个命令
  git reflog 版本变化的记录,包含回退操作
  git log 每次提交的记录,包含了注释,和commit id
  方式一:
  id方式 git reset <id> <文件名>
  文件名不写的话,恢复所有文件

  方式二:
  HEAD方式,当前版本是HEAD
  比如你修改了文件,后悔修改了,可以
  git reset HEAD <文件名>

  如果想恢复到上一个版本
  git reset HEAD^
  再上一个版本HEAD^^,以此类推

  6.其他操作

git rm <文件名>  删除,这里指从git库删除。

  相当于 rm <文件名> git add <文件名>

  删除后要commit。

删除文件后的恢复:以a.txt为例

1.未commit到git库的文件,删除后就没有了

2.删除操作在执行commit之前,可以 git reset HEAD a.txt,将文件恢复到缓冲区,然后,git checkout a.txt找回。

3.删除操作已经提交,可以 git reset HEAD^ a.txt,将文件恢复到缓冲区,然后,git checkout a.txt找回。

工作中对git使用的总结的更多相关文章

  1. 工作中常用Git指令操作

    常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...

  2. 记工作中的git遇到的问题

    看了 git 回退到某版本后,再在此版本上更新,无法push 操作前,我备份了修改了目录,准备建一个分支进行操作 我在本地revert了一次,commit到了远程仓库.然后上个版本的修改给恢复了... ...

  3. SmartGit(我工作中使用git图形化界面工具)

    http://www.syntevo.com/smartgit/ 这个工具用了快两年,之前在逸橙工作时同事(目前就职百姓网)推荐使用的,查看更改了哪些文档很方便,前天试用版过期,现在贴个 破解的链接 ...

  4. git工作中常用命令-工作中踩过的坑

    踩坑篇又来啦,这是我在工作中从git小白进化到现在工作中运用自如的过程中,踩过的坑,以及解决办法. 1.基于远程develop分支,建一个本地task分支,并切换到该task分支 git checko ...

  5. 工作中git常用命令

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 16.0px; font: 14.0px "PingFang SC" } ...

  6. 关于工作中Git相关的总结

    来公司一周多,主要是在熟悉各种环境和流程,而作为研发来讲,git的使用也是必不可少的.以前使用方式单一,几个人对着master,pull和push,来了之后发现其实在日常的开发中,git可以很方便的帮 ...

  7. git在工作中的用法总结-使用篇

    上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一 ...

  8. 工作中常用的Git操作--------(一)

    今天主要记录一下平常工作当中使用的git操作: 1.git的安装这里省略: 2.git的操作指令: 在项目开发中,经常是拉去经理已经搭建好的一个项目,也就是给我们一个git地址.比如:http://g ...

  9. git 工作中常用命令(结合vscode学习git 命令)

    作为一名前端开发,大家在工作中常常使用什么开发工具呢,我觉得我首选的是vscode,他配合git使用起来非常方便. 工作中常用三个命令: git终端常使用: git add . git commit ...

随机推荐

  1. Centos7.5 安装VirtualBox增强工具

    一.安装 1.自带tools:  选择VirtualBox工具栏 => 设备 => 安装增强功能 2.挂载光驱 3.进入光驱目录,执行(一定要用root权限执行) ①安装gcc yum i ...

  2. linux服务器安装Mysql后,只能看到information_schema/test这两个库,无法修改密码

    参考链接:https://www.cnblogs.com/ThinkVenus/p/7670722.html 问题背景:登录mysql失败,密码错误,由此想到需要更改密码 然而,进入数据库后,只能看到 ...

  3. Docker设置http代理

    在国内由于不可描述的原因无法访问Google等网站,但是作为一枚挨踢人士,无法使用Google搜索,在使用Ctrl + C技能时是抓狂的:特别是当下Docker.Kubernetes等容器技术火热的时 ...

  4. CSP应用开发-CryptAPI函数库介绍

    基本加密函数为开发加密应用程序提供了足够灵活的空间.所有CSP的通讯都是通过这些函数.一个CSP是实现所有加密操作的独立模块.在每一个应用程序中至少需要提供一个CSP来完成所需的加密操作.如果使用多于 ...

  5. 帆软报表(finereport) 折叠树

    在进行展现数据时,希望模板的数据是可以动态折叠的,即点击数据前面的加号才展开对应下面的数据,可通过树节点按钮实现折叠树效果 实现思路: 1.这里建立一个内置数据集 添加数据 设置模板样式,添加颜色和对 ...

  6. 在 VsCode 中自定义代码补全

    前言 之前公司的 Vscode 折腾成功过,如今给自己家装一个忘记怎么定义了,故回忆一下写个博文记录 代码补全顾名思义就是输入一两个字母自动提示相关的联想操作,由于VsCode非常精简所以很多联想没有 ...

  7. fs.inotify.max_user_watches默认值太小,导致too many open files

    运行环境:centos7.5 linux 打开文件数 too many open files 解决方法fs.inotify.max_user_watches默认值太小,导致too many open ...

  8. apache 配置反向代理 设置

    1.下载 安装 下载地址:http://httpd.apache.org/download.cgi 将apache 安装到某个目录中 修改conf/http.conf文件 修改配置文件端口  (端口为 ...

  9. Python学习笔记二

    ---恢复内容开始--- 一. python几种数据类型的比较. 从以下几个方面比较: 1. 是否可变. 不可变类型:变量的值可以发生变化,id也变了,相当于创建了一个新的对象,所以一修改值,id就变 ...

  10. LeetCode题解 | 215. 数组中的第K个最大元素

    在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 ...