git版本控制  廖雪峰老师的git教程

git是linus 1991年创建了开源的linux、、、已成为最大的服务器系统软件

集中式的版本控制器:CVS、SVN、ClearCase是IBM的收费软件特点是安装比windows还大,上传巨慢、VSS是微软的集中式自己都不用了  ,

分布式的版本控制:GIt是在BitKeeper促使下诞生的,,,,git是做快最简单最流行的

SVN 版本控制可以使用 Cornerstore

Git:  .SSH是什么 SSH是一种网络协议,用于计算机之间的加密登录

Git在Mac下的使用

Git在Mac下的使用

 基础应用:

1、创建Git
$cd /创建目录
$ git init
Ok,可以往里边添加文件信息了,⚠️:文本用最好用UTF-8 万国码,图片只会显示变化的字节大小、微软下的Office 是二进制格式的,无法跟踪变化,不要使用微软下的记事本 因为每个文件开始都默认添加了0xefbbbf(十六进制)的字符,会有乱码建议你下载Notepad++代替记事本 记得格式改为UTF-8
2、每次添加的文件 以及改动的文件都要添加到 暂存区中: $git add <file.type>
3、提交可以都修改完了提交一次 $ git commit -m '修改备注'
4、获取log 日志 : $ git log
co5、获取详细的log 日志: $ git reflog
6、回到某个版本,先进行5,获得log的编号:$ git reset --hard <在5确认好的 id> 前提是没有上川岛远程库
7、撤销上一步操作 未放到暂存区的修改-》暂存区中的修改 以上两个一次选择一个撤销: $ git checkout -- <file.type>
8、获取当前的状态值: $ git status
9、删除文件 : $ rm <file.type>

远程仓库 .SSH是什么 SSH是一种网络协议,用于计算机之间的加密登录

1、推到远程仓库 ,需要在本地仓库运行命令,关联仓库 $ git remote add origin git@github.com:账户名称/learngit.git

2、第一次推上去: $ git push    就可以了,$ git push -u origin master 后边的追加可以将本地的分支和远程的分支进行绑定方便以后的操作
此后只要本地有了变化,只需要 $ git push origin master 就可以了 3、远程仓库克隆项目 $ git clone git@github.com:....xinxi 如果地址是 https://github.com/michaelliao/gitskills.git 可以 $ git://使用ssh 也可以使用https协议 ⚠️:https 协议速度会下降,每次上传都需要输入命令,但是在某些只开放http端喽的公司内部就无法使用ssh,只能用https
 

查看远程仓库信息:$ git remote    \详细信息 $ git remote -v

把分支push到远程仓库 : $ git push origin master

分支管理

1、查看分支:git branch

2、创建分支:git branch <name>

3、切换分支:git checkout <name>

4、创建+切换分支:git checkout -b <name>

5、合并某分支到当前分支:git merge <name>

6、删除分支:git branch -d <name>

7、强制删除分支 git branch -D <name>

---------一般合并 分支会在 fast forward 模式下,合并后之前的分支记录全部没有了,这个时候想保存记录 就可以禁止掉 fast forward-----

8、添加合并记录: $ git merge --no-ff -m '记录' <name>

9、分支策略
在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:

分支管理

Bug 分支

1、出现了问题可以创建分支解决,在合并删除分支;目前的情况是在分支dev正在开发内容,可以临时stash一下(可以多次的stash);

$ git stash     到master分支出issue-001 解决合并 删除分支issue-001 ,回到dev

$ git stash list 查看收藏列表

$ git stash pop  进行回到原来的现场并且删除收藏  进行开发

常用git stash命令:

(1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

(2)git stash list  :查看stash了哪些存储

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash

Tag 标签

1、添加标签:$ git tag v1.0

2、获取标签: $ git tag

3、查看标签信息: $ git show v0.9

4、创建带有说明的标签,用-a指定标签名,-m指定说明文字:$ git tag -a v0.1 -m "version 0.1 released" 1094adb

5、删除标签;$ git tag -d v0.1

6、命令git push origin <tagname>可以推送一个本地标签;

7、命令git push origin --tags可以推送全部未推送过的本地标签;

8、命令git tag -d <tagname>可以删除一个本地标签;

9、命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

代码管理git 工具的话可以使用GitHub桌面端管理git、码云上的代码的更多相关文章

  1. 首次使用Git将码云上的代码Clone至本地

    使用Git将码云上的代码Clone至本地 1. 安装Git https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-G ...

  2. 使用Git将码云上的代码Clone至本地

    1. 安装Git https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git Git的网站上有详细的分各种系统的安 ...

  3. git向码云上传代码总结

    1.下载git windows下载地址:https://git-for-windows.github.io/ 2.安装git 一路确定 3.配置git 如果你要使用ssh上传代码,你需要本地生成ssh ...

  4. 关于在linux下安装git,以及在idea上将项目部署到码云上

    GIT 基于对linux感兴趣,并且也考虑到以后从事开发后也会用到linux,着实在闲余之际学学linux.最近在用VM虚拟机环境下学做一个项目,在git上卡了一点时间,但同时也收获  了不少,下面写 ...

  5. git的使用学习(七)githup和码云的使用

    1.使用GitHub 我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的.其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开 ...

  6. 【学习总结】Git学习-参考廖雪峰老师教程九-使用码云

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  7. 使用Hexo搭建个人博客并部署到GitHub或码云上全过程

    一.前言 如上图所示:GitHub有Github Pages,而码云也有码云 Pages 1.Github Pages或Gitee Pages是什么呢? Github Pages或者Gitee Pag ...

  8. Git 把码云上被fork项目源码merge到fork出来的分支项目

    Git 把码云上被fork项目源码merge到fork出来的分支项目 By:授客 QQ:1033553122 需求描述 被fork的项目有更新代码,希望把更新的代码merge到fork分支项目 解决方 ...

  9. 把本地git仓库中的项目引入到码云上

    一.安装git软件和TortoiseGit客户端(git需配置环境变量,但安装时已经配置好,无需考虑) 二.生成公钥和私钥(建立与码云的连接) 三.在码云上新建项目(建议在组织的基础上)   四.在码 ...

随机推荐

  1. TypeScript|Angular踩坑笔记

    今天按照Angular官网玩了下demo程序,踩了个小坑,记录下. TypeScript可以将变量申明为自定义类型,同时也不对该类型进行检查(不像C#,如果没有这个类型会报错) 比如下面这样: 如果我 ...

  2. 【大数据安全】CDH集群禁用Kerberos

    在调试Kerberos的时候可能会有需要禁用的场景.以下是各组件禁用Kerberos的相关配置. 环境 CDH版本:5.11.2 Linux版本:7.4.1708 Docker版本:Docker ve ...

  3. 正则表达式匹配html标签里面的内容

    假如html标签里面有一句:String a = "<style type=\"text/css\"> div \n" + "{ marg ...

  4. event 和delegate的分别

    突然想起delegate委托是支持+= 和-=操作的,然后研究一下究竟这个是怎么做到的,好模仿一下.一开始以为是+=的运算符重载,但是在类库参考中并没有这个运算符重载,只有!= 和==运算符重载.有点 ...

  5. DVWA 黑客攻防演练(十三)JS 攻击 JavaScript Attacks

    新版本的 DVWA 有新东西,其中一个就是这个 JavaScript 模块了. 玩法也挺特别的,如果你能提交 success 这个词,成功是算你赢了.也看得我有点懵逼. 初级 如果你改成 " ...

  6. MongoDB自学(4)

    超过存储上限或记录条数删除最早的记录:db.createCollection("集合名",{capped:true,size:1024,max:100})注解:指定集合名的最大记录 ...

  7. Swift构造

    构造就是将结构体.类或枚举的实例准备好以便使用的过程.这个过程包括: (1)为实例中的每个存储属性设置初始值. (2)执行必要的准备和初始化工作. 实例的构造过程是通过构造器来完成的. 可以在结构体. ...

  8. C#:往数据库插入/更新时候关于NUll空值的处理

    前几天遇到一个问题,找了好久才找到解决办法.不过也很开心,终于解决了. 问题:前端当我数据为空的时候不赋值,传到后台也为空的时候(注意:是Null不是""),SqlCommand对 ...

  9. python day06

    深浅拷贝 1.值拷贝 ls1 = [1,2,3] ls2 = ls1 #ls2直接把栈区里ls1存的地址拿过来,也指向堆区里列表的id #原列表发生ls1改变(不是重新赋值),ls2也跟着发生改变 2 ...

  10. H5活动页开发有关

    活动页开发流程 针对各种节日各种活动,临时定稿开发的活动页,往往时间安排都比较急 ---- 产品定下需求方向 UI实现设计稿 1. 草图和交互逻辑定稿=>多少个页面,每个页面表达的含义以及和用户 ...